[Android] where exactly are files stored?

previously Zotero on android appeared to store pdfs in "Android/data" subfolders which were accessible (albeit it was somewhat difficult to share data between apps). Now with the latest version of Zotero the downloaded files here appear to be missing, yet I can still access them in zotero. Is the new location one that is inaccessible (even read-only) on an unrooted device? If not, what is the path where downloaded files are stored?

Misc information: I am using Android 13 and official Zotero sync
  • edited October 14, 2024
    App storage is internal and isn't meant to be available outside the app, no. (The app also wouldn't re-upload a file that was somehow modified externally, since that's never supposed to happen.)

    The mobile apps are designed to sync annotations with the desktop app seamlessly and efficiently using DB-based annotations, so we have no plans to support opening of PDFs externally beyond exporting. We'll be continuing to add features to the built-in reader in parallel with the desktop reader.
  • hmm,I see. for DB-based annotations, one should take the pdf is unchanged forever.

    But Is it possible to add this feature for modifying PDF uploads? Considering the many users who want the external reader function…
  • But how can one "export" individual PDFs to use in other apps? I cannot seem to locate that option on the android app?
  • edited December 29, 2024
    ^ seconded, there seems to be no means to "share" a PDF.

    EDIT: Implemented https://github.com/zotero/zotero-android/pull/204
  • I suppose the only possibility to use external PDF readers is to use zotfile (zotmoov/Attanger for zotero7) to move the attachments out of the storage, and sync them separately... (given that the team's attitude for now).

    The cost is that, you cannot open the PDF directly from the Android App any more. That's fine for me, though.
  • Another workaround I have been using is that I use copy feature of zotmov to store linked files (in Google drive) and also use sync using webdav as well. This way I have two copies of the same file, one I can access outside of zotero and one inside of zotero. A bit messy but does the job.
  • @madhurajk, So, you’re just syncing another file to Google Drive? If you add annotations to this copy of the file in Google Drive, will the desktop version of Zotero be able to read the annotated file in return?
  • @liyun89 yes it will.

    But remember the annotations you made in zotero to the synced (zotero or webdav not gdrive) will not associated with the linked file. You'll have to save annotations within the pdf file using some other PDF reader for them to be synced. Zotero will treat them (the linked file stored in gdrive and the synced file stored in WebDAV/zotero storage) as different files. Like I said, messy.

    Also you can access google drive files in Zotero desktop app but not zotero android app. On Android you'd need to use Google Drive/Adobe Reader/some other app to access those files. However, zotero android app can still access the synced files (with zotero or webdav)

    Ideal case would be not to add annotations to the linked file using zotero desktop and use it only for access. If you must, use an external reader(adobe reader) that saves annotations in the PDF. This way your annotations will be accessible in whatever PDF reader (on android or desktop) you open it. However to reiterate, these annotations will be different from zotero annotations and will be synced because the file was synced on google drive. And you'll have two kinds of annotations in two different places.
  • edited January 10, 2025
    @madhurajk

    Thank you very much, I will use your method. Although I didn’t understand how you set up Desktop Zotero to read the annotations from the PDF documents in Google Drive.

    I don’t quite understand how you achieved this: “copy feature of Zotmoov to store linked files (in Google Drive) and also use sync using WebDAV as well.”

    I am storing and syncing the attachments using Zotero WebDAV, with the Zotmoov addon, I can only copy the file to my Google Drive. In this case, the Zotero desktop software doesn’t have a link to this PDF file.

    Anyway, this method is great. I use Zotero Desktop to read most of my files via webdav syncing between different devices, and for some documents that require close reading, I use the Zotmoov addon to copy them to Google Drive. This way, my Onyx e-ink Neo reader can easily make annotations, and sync with desktop PC. But the Zotero 7 desktop can not easily read this file since it did not have a link to this file.

    But I am quite satisfied with this solution.
  • Hello, I am trying to use syncthing to sync only the equivalent of the Zotero/storage directory, which I believe is slightly different from what the @ElizabethDobson is trying to do. Note that I already sync this directory between two computers using syncthing.

    Can I do the same thing with an android device ? I cannot find the storage directory anywhere. Perhaps it is in the Android/data directory which can only be read via a computer ?

    Also note that this setup works when using Zoo for Zotero, as the app allows to chose a different storage directory. The obvious downside is not having the features of Zotero Android and thus being limited to read-only articles if I do not want everything messed up.
  • I cannot find the storage directory anywhere. Perhaps it is in the Android/data directory which can only be read via a computer ?
    @ArmlessAxolotl: As I say above, app storage is internal. It's not something you can sync with anything else.
  • @dstillman: Is this a design choice or is it going to change in the future ? It's very convenient to sync the storage with another software. Most of times it's also free.
  • I mean, it's a design choice in that the mobile apps are native apps with their own architectures unrelated to the desktop app, so there's nothing compatible to sync. Keeping file storage internal also avoids a large swath of problems that could occur if files could be modified from outside the app.

    Even on the desktop, syncing 'storage' outside of Zotero could cause unexpected problems — the 'storage' folder is really meant to go with the database on that computer, and the database itself can't be synced externally. So no, this isn't something that we designed for when making the mobile apps.

    You can sync for free using WebDAV.
Sign In or Register to comment.