NB : this is a follow-up from Moving Podcasts to SD Card but I could not reply there.
App version: 3.4.1f (F-Droid)
Android version: 13 (june 2024), from Fairphone
Device model: Fairphone 3
Expected behaviour:
Antennapod stores the podcasts on my SD card. The card was full, I changed it and copied the whole data (rsync between the 2 cards on linux). I could not find a way to keep the same card UUID. In the parameters, I set the new SD card as downlod location (only 2 choices).
I expected to play all my podcasts from the new card. Everything is in cardpath/Android/data/de.danoeh.antennapod/ , right?
Current behaviour:
Antennapod has kept history, podcasts and so on, but it cannot play old podcasts: Missing file… (of course it’s there).
I can re-download and play a podcast. A new file appears with the same name the -1 extension, so some space is lost.
But my main problem is that some old podcasts cannot be re-downloaded (shame on you, Radio France!). I could save the mp3 files but there should be a better way.
Work-around :
In Moving Podcasts to SD Card , it is explained that the paths are hard-coded.
My phone is not rooted, its solution was not directly possible, but there is another way:
- Export the database from Antennapod (see Parameters)
- Transfer it to a computer with sqlite3
- Keep a copy of this backup somewhere in case the following fails
- Modify the backup with a tool able to read SQLite databases, eg this way:
sqlite3 copyofbackupfile.db
.tables
-- FeedMedia should appear
-- replace B36C-82D5 by 0000-0001 in paths
-- see thread above for another example
update FeedMedia set file_url = '/storage/0000-0001' || substr(file_url, length('/storage/B36C-82D5/')) where file_url glob '/storage/B36C-82D5/*';
-- check the result
SELECT * from FeedMedia where file_url like '/%' limit 3 ;
.exit
- Copy copyofbackupfile.db back to the phone
- In Antennapod/Parameets/Import-export, import this file. It will replace everything.
- Old podcast should play now.
All of this is not easy for non-techies. Is there a more user-friendly solution?
Anyway, I wanted to document this procedure somewhere, I think i’ll have to use it again someday…
I would have expected Antennapod to store only paths relative to its main location, or to try to find the file in its default location.
I’ll add a word on Updating to newer android or switching sdcard will break AntennaPod data location · Issue #1777 · AntennaPod/AntennaPod · GitHub and Moving data folder with the whole content to a new place does not work. · Issue #951 · AntennaPod/AntennaPod · GitHub (yes, this is an old problem).
And thanks for this awesome project.