This is mostly for me so I won’t lose this information next time. Source I found this solution at: https://github.com/AntennaPod/AntennaPod/issues/951#issuecomment-2913916598

I needed to move my AntennaPod cache to a new SD card as the old one became too small. I copied everything over from the old SD Card to the new one (including the Android/ directory), put it back into the phone, pointed AntennaPod to the new card and expected it to pick up on the previously downloaded files.

If you’re still here, you can guess that it wasn’t that easy.

Every previously downloaded episode was “not found” and re-downloaded. I have HUNDREDS of downloaded episodes, some of which were no longer available. I was not happy. Especially since the files were RIGHT THERE! AntennaPod even SAW them! Episodes that were downloaded again were named with a -1 in the filename! For example:

  /media/ABCD-1234/Android/cache/de.daneoh.antennapod/media/<Podcast>/<Episode>.mp3
  /media/ABCD-1234/Android/cache/de.daneoh.antennapod/media/<Podcast>/<Episode>-1.mp3

Long story short, AntennaPod doesn’t “look” for the files in the selected directory, but “downloads” them there. It keeps a database of where the downloaded files are stored, but that is not updated when the path changes. This cries for a feature request, I should make one…

Anyway, to make AntennaPod find the existing files in the new path, I did:

  • Create a backup of AntennaPods database
  • Copy it to my computer
  • Open the sqlite database in “DB Browser for SQLite”
  • Ran the following SQL
UPDATE FeedMedia
SET file_url = REPLACE(file_url, '/media/ZYXW-9876/', '/media/ABCD-1234/')
WHERE file_url IS NOT NULL;

UPDATE Feeds
SET file_url = REPLACE(file_url, '/media/ZYXW-9876/', '/media/ABCD-1234/')
WHERE file_url IS NOT NULL;
-- replace ZYXW-9876 with the old label and ABCD-1234 with the new label
  • Copy the updated file to the phone
  • Import the backup back into AntennaPod

Now AntennaPod succesfully found my downloaded episodes again.

EOF