New SDCard and paths change: workaround

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.

1 Like