[APP][MOD] Spotify Lite - scaled for standalone use on Wear OS

Search This thread

moneytoo

Recognized Developer
Feb 20, 2007
1,425
1,304
brouken.com
This is a mod of the Spotify Lite v0.6.6. The official Spotify app for Wear OS is not able to stream music standalone. Sideloading any Spotify works but the UI is obviously giant on Wear OS - see this recent Spotify screenshot from Wear OS.

It's possible to change system wide density but it takes away the usability and look of Wear OS. I did a quick experiment with pure resource mod and it works surprisingly nice so I'm sharing it with you. Downscaling other well written apps is therefore possible.

What it took:
  • Replace all sizes (dip/sp in layouts, dimens etc.) - I divided them by 2
  • Few quick fixes - set bottom tab layout alignment to center instead of fill, set custom height for actionBarSize, set horizontal margin for toolbar (so far only on Home screen)
It takes only quite a few commands to create such downscaled modded app. The current version of the size replacement script is really ugly and slow but I think that it would make a great universal script/tool for conversion of any user app (right?)...

spotify-lite-wear-screenshot.png spotify-lite-wear-screenshot-2.png spotify-lite-wear-screenshot-3.png

Spotify Lite mod is attached to this post. (Lite version doesn't support offline playback but the whole app is supposed to be snappy.)
Full version of modded Spotify (8.4.62.490) is available from mega.nz or AndroidFileHost. Mod v2 (improved top toolbar): mega.nz or AndroidFileHost.

Here's the raw (but trivial) tool - WearModder.jar

How to use it:

Code:
# Decompile apk
java -jar apktool_2.3.3.jar d spotify-lite.apk

# Mod resources (use directory or individual files as arguments)
java -jar WearModder.jar spotify-lite/res

# Perform additional manual tweaks

# Build apk
java -jar apktool_2.3.3.jar b spotify-lite

# Sign
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore spotify-lite/dist/spotify-lite.apk alias_name

WearModder modifies all files in-place so do not run it more than once on the same files (d'oh). Feel free to try modding your favorite apps and let me know how well it works.

Update 2018/10/04: Uploaded mod of Spotify Lite v0.9.5.

Chech also uploads of others who shared their (newer) versions.
 

Attachments

  • spotify-lite-wear-mod.apk
    5.1 MB · Views: 29,755
  • spotify-lite-wear-mod-v0.9.5.apk
    5 MB · Views: 11,547
  • WearModder.jar
    2.6 KB · Views: 2,821
  • WearModder-v20200225.jar
    2.7 KB · Views: 1,346
Last edited:

unrealmac

Senior Member
Oct 12, 2014
75
30
This is probably the coolest thing I've seen here for a while! If this app would have existed when I had my Huawei Watch, I probably wouldn't have sold it!

GJ. This could be a game changer for Wear OS. Sad that such things doesn't come from Google directly.

I want to see more screenshots of such apps! :)
 
  • Like
Reactions: MrVicio

demitryh

New member
Jul 13, 2018
1
0
Amazing job!

I am testing this like for an hour now and well it is buttery smooth on my old but amazing Huawei Watch.
I used Wearify (third party app) for spotify music on my watch without the phone but this app was limited to playlists only.

With this solution i can search for music on my watch and play them. and it works really well.
only think to note for people with spotify premium:
I have spotify premium but it shows only the option to shuffle play and i CANNOT save music for offline playback.
but still i wasn't expecting offline playback. only think i expected was a horrible but at least working search button.
But while it is true that it works, it is such an amazing smooth experience so well done!
 

moneytoo

Recognized Developer
Feb 20, 2007
1,425
1,304
brouken.com
I'm not a Spotify subscriber but I will try modding the full version of Spotify next (I'm really curious how well it will go). I have just learned that there is "Wearify for Spotify" (also online only) so something for actual offline playback is welcome I guess.
 

ckarv

Senior Member
Dec 7, 2012
324
64
Xiaomi Mi 9
Let me know if you need help testing offline playback, if you think of a way to include it somehow.

Thanks for the work!
 

seahorsepip

Senior Member
Jan 22, 2012
459
176
I'm not a Spotify subscriber but I will try modding the full version of Spotify next (I'm really curious how well it will go). I have just learned that there is "Wearify for Spotify" (also online only) so something for actual offline playback is welcome I guess.

I've been working on offline playback but that's sadly not that easy, current download implementation consists of ripping the audio stream and saving it as ogg file, works but slow since 1h of music takes 1h to download. And obviously I can't put that on the play store. If you're interested feel free to look at the source.
 

widezu69

Senior Member
Aug 17, 2009
142
21
This is great. Especially useful for people with sim-enabled watches such as the LG Watch Sport.
@moneytoo there's a request a few threads down of trying to use the Polar Flow wear apk (not the full phone one) on Wear OS watches that aren't the M600. Because the apk is only designed for the M600 which has a 240x240 display, all the elements are off place on watches with other res displays. Would you be able to take a quick looksy and see if you could work your magic on resizing the apk for other watches? In this case the resolution actually needs to be scaled up.

Would love to be able to use the Flow apk on my LG Watch Sport which has a 480x480 screen.

I can help provide the most up to date apk if needed.
 
Last edited:

laasworld

Senior Member
Jan 22, 2013
55
37
Munich
LG G6
Huawei MediaPad M5 Lite
I have just added link to modded version of the full Spotify to the first post. The bottom bar still doesn't look right but it should be manageable. Let me know if offline playback works.

Wow, that's a huge step forward! I already tested the full mod, and it's incredibly slow on my brand new ticwatch pro, though. Took awhile to load the login screen, then much patience to login (bg animation = lag), but the home screen isn't so bad. Unfortunately that's where the usability stops, because I can only scroll up/down to see the latest playlists/albums, and trying to queue one for offline download is broken because the app thinks I was on cellular, despite wifi being enabled. I couldn't access the settings interface to override this. I don't have a small smartphone, and without gesture functionality or an interface redesign, I can't imagine a usable interface from the main app that shows everything one might hope to operate.. :confused:
 

Attachments

  • IMG_20180716_162448.jpg
    IMG_20180716_162448.jpg
    242.5 KB · Views: 1,788
  • IMG_20180716_162647.jpg
    IMG_20180716_162647.jpg
    245.6 KB · Views: 1,763

tinyqu

New member
Jul 16, 2018
2
1
Samsung Galaxy Tab A series
hey guys,
i tested the full version on my ne ticwatch pro, because of some connetction issues with the spotify wear app.
the full version (by moneytoo) worked fine, exept some usability problems because of the resultion with 400x400px

if searched for one of my public playlists and it was possbile to download the songs. disconected my watch from the wlan and the songs could stil be played.

could it be possible to adjust the dpi settings in the app for 400x400px?
not only the bottom bar, althoug the settings button and the searchbar are out of the screen.
 
  • Like
Reactions: ckarv

Top Liked Posts

  • There are no posts matching your filters.
  • 27
    This is a mod of the Spotify Lite v0.6.6. The official Spotify app for Wear OS is not able to stream music standalone. Sideloading any Spotify works but the UI is obviously giant on Wear OS - see this recent Spotify screenshot from Wear OS.

    It's possible to change system wide density but it takes away the usability and look of Wear OS. I did a quick experiment with pure resource mod and it works surprisingly nice so I'm sharing it with you. Downscaling other well written apps is therefore possible.

    What it took:
    • Replace all sizes (dip/sp in layouts, dimens etc.) - I divided them by 2
    • Few quick fixes - set bottom tab layout alignment to center instead of fill, set custom height for actionBarSize, set horizontal margin for toolbar (so far only on Home screen)
    It takes only quite a few commands to create such downscaled modded app. The current version of the size replacement script is really ugly and slow but I think that it would make a great universal script/tool for conversion of any user app (right?)...

    spotify-lite-wear-screenshot.png spotify-lite-wear-screenshot-2.png spotify-lite-wear-screenshot-3.png

    Spotify Lite mod is attached to this post. (Lite version doesn't support offline playback but the whole app is supposed to be snappy.)
    Full version of modded Spotify (8.4.62.490) is available from mega.nz or AndroidFileHost. Mod v2 (improved top toolbar): mega.nz or AndroidFileHost.

    Here's the raw (but trivial) tool - WearModder.jar

    How to use it:

    Code:
    # Decompile apk
    java -jar apktool_2.3.3.jar d spotify-lite.apk
    
    # Mod resources (use directory or individual files as arguments)
    java -jar WearModder.jar spotify-lite/res
    
    # Perform additional manual tweaks
    
    # Build apk
    java -jar apktool_2.3.3.jar b spotify-lite
    
    # Sign
    keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore spotify-lite/dist/spotify-lite.apk alias_name

    WearModder modifies all files in-place so do not run it more than once on the same files (d'oh). Feel free to try modding your favorite apps and let me know how well it works.

    Update 2018/10/04: Uploaded mod of Spotify Lite v0.9.5.

    Chech also uploads of others who shared their (newer) versions.
    4
    Hello, I find it a very interesting project and would like to give visibility to the tutorial in this post, the script works well with current APKs although of course improvable, I encourage whoever has knowledge to develop a new update of the script.

    There are apps installed on Wear OS (especially those that come from Android) that have a giant interface and do not adapt well to the small size of the watch screen, which prevents to reach certain options from the watch. The guide allows you to change the density of a given app without affecting the density of the rest of the apps on the watch, WearModder was developed by user @moneytoo. Unfortunately, the tool has not been updated for at least 2 years, however the WearModder source code is available here (in java) for those who have knowledge and want to improve it, also another developer has ported the tool to Python, also available from this other link.

    Both the script and the steps to use it are simple, so anyone can try it with their favorite applications.

    Wearmodder-EN.jpg

    What does WearModder do?

    The WearModder tool is a small script that modifies the density of an APK to fit the size of the watch. The script automatically does the following:
    • Replaces all sizes (dip/sp in layouts, dimens, etc.).
    • Sets centered alignment of the bottom tab layout
    • Sets custom height for action bar (in ActionBarSize element)
    • Set horizontal margin for toolbar (home screen only)

    Prerequisites:

    • Download and install the Java 8 tool (JRE 1.8) from here.
    • Download APKTool from here (tool for decompiling APK files)
    • Download WearModder from here in java or from here in Python (tool to modify the density of APK files).
    • If you use WearModder for Python, download and install Python from here.


    The Guide. How to change the density of an app or game on Wear OS

    1. Rename Apktool file you downloaded to "apktool.jar" (no version) and Wearmodder file you downloaded to "wearmodder.jar" (no version).

    2. Place in the same folder apktool.jar file, Wearmodder.jar file and APK file you want to modify its density.

    3. Now open a command line in that folder and enter the following to decompile APK file.
      Code:
      Java -jar apktool.jar d apk_name.apk

    4. Once decompiled, enter the following to modify apk resources:
      Code:
      - With Java version:       java -jar WearModder.jar apk_name/res
      - With Python version:     python ./wearmodder.py ./apk_name/res

    5. According to the author of the guide additional manual adjustments must be made, however he does not give any guidelines nor has he developed this step, I suppose it is not always necessary.

    6. Build APK file again. The modified APK file will be saved in "/apk_name/dist/" folder.
      Code:
      java -jar apktool.jar b apk_name

    7. Enter the following commands to sign it. It will ask you for a new password and some other information.
      Code:
      keytool -genkey -v -keystore my-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
      jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-key.keystore apk_name/dist/apk_name.apk alias_name
    Wearmodder2.jpg

    Considerations:

    • Make sure you have the environment variable set for Java so that Java can be run from any folder, the same for Python if you are going to use the Python version of WearModder. Here is a guide to add the environment variable for python and here for Java.

    • In step 3, 4, 6 and 7 replace in the command "apk_name" with the name of APK file to be modified.

    • In step 7 replace "my-key" and "alias_name" with the name of the password and alias storage you want.

    • If you have problems using WearModder in Java, you can use WearModder ported to Python. When I tested with Seven app (apk of the capture)), java version modified the APK but when I built the APK again something was wrong, with the Python version I modified and built with ApkTool the app perfectly.

    • Do not run WearModder more than once on the same file that you have already altered.
    3
    Update:
    1. Spotify - Music and Podcasts v8.5.68.904 for wearOS
    2. update NewPipe v0.19.8 for wearOS
    Download: https://mega.nz/file/ED4CBYTB#pRzmt7VmvOAfLr99D55PJ1UuDEpij5Z39dNEAzRszlQ
    3. MX-Player work together with above newpipe for wearOS
    Download: https://mega.nz/file/UChyXQhL#zJb6-mwRkKpq8kVRi7UD4uV_lNqufTRwtV9B-aYp-mA


    4. New ( Support- karaoke feature ( lyrics ) in some country. https://9to5mac.com/2020/06/30/time-synched-lyrics/
    *******Corrected bug (fix: UI for watch, test: load speed, Shuffle, Canvas, Synced Lyrics, Storyline ) ---etc. Clean install required, what you have to do once the app is installed for the first time, is force close the app.
    https://mega.nz/file/IW5E1I5b#WV89Lbw5ryEtlyJ7CWdrxE8DxaskHsIqH52TE7fWZNc
    Lite https://mega.nz/file/ETQUya6S#VdVzBRkiF9SHXD9B8URpSLTC5CCbse-E3sHRPQPtP-g


    Never Forgot to scan arch with VirusTotal

    -----------------------------------------------------------------------
    5. satstat
    -App to test your GPS and network location (my Suunto 7 don't have Mobile network)
    -On map, blue circle is network fix and red circle is GPS fix.
    -https://f-droid.org/app/com.vonglasow.michael.satstat
    Download for wearOS https://mega.nz/file/4foFiJAJ#OdgqaI2i4fo9KPUtoBxrErWHUL9oJUbF7yWasMIMGvA