2

I've been using Rocket player (which is a local file music player) for quite a long time now, but I have recently bought a new phone. The music database (i.e #times a song has been played etc) ported just fine, but I have other problems with it, and the new developers of the app don't have the greatest reputation. So I looked for another music player and found Musicolet, which I really like the features of. But I really would like to port my music database over to it. How would I do that in the least painful way?

Here's what I've tried so far

  • Musicolet does have a database importer/exporter, but the file is an encrypted .db file. Thanks to this post on reddit though I managed to decrypt it and can now manually edit it using DB Browser for SQLite. In other words, all my songs are in the export file, but naturally has no "data" such as #times played.
  • Retrieving the database file from Rocket player has proven to be much harder. I know from previous experience that Rocket player uses a file called blob3.blob to store its playdata, and it is possible to open an older version of my music database stored in .blob in DB Browser for SQlite.
  • However, I cannot find this file anywhere on my android phones, and I tried using AirDroid to import the .apk file, which just contains an empty blob3.blob file. I figure the file is stored in the hidden /data/data folders or the app folder for Rocket player or its cloud uploader. As far as I can tell, the only way to acces these folders is by rooting my phone. I really don't want to root my new phone, but I don't really care about my old one (Xperia XZ1) and tried rooting it. But I got stuck at unlocking the bootloader, which seems to be more or less required in order to root. Unlocking the bootloader will clear all data from the phone which completely defeats the purpose of rooting it in the first place.
  • In ADB there's a backup app function you can do. Couldn't get that to work but it could possibly contain the file I need. Also, downgrading my old phone to android 9 could also possibly work to get more access to the hidden folders, but this seems also to require unlocking the bootloader.
  • Using scrobble works for recording new play data onto last.fm, but cannot register past play data, so that doesn't work either.

So my current solution is to manually browse each song in the Rocket player app, and then manually registering it in the Musicolet export .db file. But this includes copying last played date converted into Unix epoch time (which is the one that really takes a long time), and my music collection has over 7000 songs.

Does anyone have any idea of how I could do this more efficient in any way? Having the blob3.blob file would make this a lot easier.

Edit: Doing android backup worked this time and for me (see comments) and I got my blob3.blob file. I could easily copy over my data, but my new issue is Musicolet failing to load my import. I think it due to the fact that all the files in the Musicolet export/import .zip are checked with md5 checksums to see if they are corrupted or not (I'm guessing), which is mostly stored in a file in the zip called "0.musicolet.backup". From testing I can ascertain that the hashes in this file indeed has something to do with the other files because they do not change when making a new export and not changing anything. However, I cannot replicate the hashes since pulling the files through an encoder do not match those hashes. But I need to know the hasing method in order to get the import to work in Musicolet. Currently, i am looking for a solution on this.

3
  • 2
    You already collected most of the facts. From my perspective adb access on your old phone is the best option you have. This can get you the data if the app allows backup. Unfortunately there is no error if it denies, just the backup will be empty. How far did you got with adb backup? You need adb working, the app package name of the app you want to backup and the Java tool Android Backup Extractor.
    – Robert
    Apr 29 at 20:40
  • @Robert adb backup worked! I was just missing the Java Android Backup Extractor. Thanks for pointing me in the right direction. I have now copied over the data to the Musicolet backup. But now I currently trying to solve the problem with Musicolet failing to load my import file. Maybe my re-encryption is wrong, or something else is missing...
    – Murkenrahl
    May 1 at 14:34
  • Note that adb backup/restore won't work on Android 12 for recent apps. What may work is installing an very old version of your player app (e.g. from apkmirror.com or a similar site), adb restore your backup and then update to the latest player version.
    – Robert
    May 1 at 15:18

0

You must log in to answer this question.

Browse other questions tagged .