Coder Social home page Coder Social logo

sync-dl-gui's Introduction

sync-dl-gui (DEFUNCT)

This project is no longer being updated, and has been removed from google play.

An App for downloading and syncing remote playlists to your phone

INSTALLATION

With Google Play

With adb

Install adb https://developer.android.com/studio/command-line/adb

Connect smartphone to computer via usb

Download either apk in the release (they are the 32 and 62 bit versions respectively) https://github.com/PrinceOfPuppers/sync-dl-gui/releases/tag/1.0

32 Bit:

adb install path/to/download/sync_dl_gui_armeabi_v7a_1.0.apk

64 Bit:

adb install path/to/download/sync_dl_gui_armeabi_v7a_1.0.apk

ABOUT

Created to avoid having music deleted but still have the convenience of browsing, adding and reordering new music using remote services such as youtube.

the application does not store any of its metadata in songs, metadata is stored next to them in a .metadata file, the music files are managed through numbering, allowing them to be played alphanumerically using any playback service (such as VLC)

Smart Sync:

The main feature of sync-dl Adds new music from remote playlist to local playlist, also takes ordering of remote playlist without deleting songs no longer available in remote playlist.

songs that are no longer available in remote, will remain after the song they are currently after in the local playlist

DEVLOPMENT

On Desktop

git clone https://github.com/PrinceOfPuppers/sync-dl-gui

cd sync-dl-gui

pip install -r requirements.txt

python3 sync_dl_gui/main.py

On Mobile

install buildozer https://buildozer.readthedocs.io/en/latest/

install adb https://developer.android.com/studio/command-line/adb

install android-SDK

install openJDK

Enable developer mode on your smartphone and connect it to your computer via usb, be sure to enable usb debugging. Test if connection is working using

adb devices

Clone the project and setup logging

git clone https://github.com/PrinceOfPuppers/sync-dl-gui

cd sync-dl-gui

pip install -r requirements.txt

adb logcat -s "python" > logs/logcat

In a seperate terminal run the following to build and push to your smartphone

cd PATH_TO_SYNC-DL-GUI

buildozer android debug 

This will build sync_dl_gui however we must manually configure androids manifest xml files located at:

32 Bit:
.buildozer/android/platform/build-armeabi-v7a/dists/sync_dl_gui__armeabi-v7a/templates/AndroidManifest.tmpl.xml

64 Bit:
.buildozer/android/platform/build-arm64-v8a/dists/sync_dl_gui__arm64-v8a/templates/AndroidManifest.tmpl.xml

In the application element of these files, add:

android:requestLegacyExternalStorage="true"

This will enable the application to use the old storage api, which will allow sync_dl_gui's dependancies to access shared files such as music, bypassing the storage scoping rules added to android api 29 while still allowing us to deploy on google play.

Finally run the following command to build, install and run the app

buildozer android debug deploy run

DEPLOYMENT

Build for Deployment

The following will output a deployment build in bin

buildozer android release

Jarsigning

Use keytool to create a RSA key of size 2048

install jarsigner

jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore path/to/keystore bin/sync_dl_gui-1.0-armeabi-v7a-release-unsigned.apk chosen-key-alais

Zipalign

install zipalign

zipalign -c -v 4 bin/sync_dl_gui-1.0-armeabi-v7a-release-unsigned.apk bin/sync_dl_gui_armeabi_v7a_1.0.apk

Test apk

adb install bin/sync_dl_gui_armeabi_v7a_1.0.apk

Repeat for arm64-v8a

Google Play requires both 32 and 64 bit releases

Google Console

Follow Google Consoles step by step guide for releaseing an the application

SCREENSHOTS

sync-dl-gui's People

Contributors

princeofpuppers avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.