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.