Since 6.0 Android update, fails to load epub files from external SD card
A cross-platform XML/CSS based eBook reader
Brought to you by:
buggins
When trying to open files from an external SD card via the file browser (it doesn't seem possible to browse to the SD card from within CR), Cool Reader reports "Trying to load book from nonstandard path {path}" and then "Failed to open book". This only seems to be the case since the Android 6.0 update.
Which file browser and path are you using? I'm having similar problems, although I can read books on the SD card if I open them from a file browser using the newer path through /storage/4707-D740 (which appeared on my Sony phone after the Marshmallow update), there doesn't seem to be any way to navigate to them from Cool Reader itself since it doesn't seem to see the external SD card. I'm guessing Cool Reader is looking at the older path (/storage/emulated/1) that doesn't work any more in Marshmallow. Or this might be the same as Bug #365, which says it's for Android 5.0, but I think it stating that the SD button under browse is giving internal storage. (I'm not sure; my Russian is terrible so I could be misunderstanding what Bug #365 is.)
If I try to navigate to the epubs through /storage/emulated/1 it gives the "nonstandard path" error you mention and storage access framework (SAF) is inconsistent, sometimes giving the path error and sometimes opening, but these seem to happen no matter what app I try to open the epubs in so I don't think it's a problem with Cool Reader. The native Marshmallow file browser (Settings->Storage->SD Card) doesn't give me an option to use Cool Reader to open them.
Last edit: ds 2016-03-22
I'm using ES File Browser, the path to my SD card is /storage/1600-1E1E, Marshmallow obviously just uses the signature of the SD card in some way. Browsing manually to that path doesn't work for me, same error - which file browser are you using that it works with? As with you, the built in browser doesn't let me choose Cool Reader.
Last update of CR seems to have been July of last year, not super hopeful this is going to get fixed!
I'm using Ghost Commander. I filed a bug report for the inconsistent read/write activity in Marshmallow on their project page (https://sourceforge.net/p/ghostcommander/bugs/42/). Basically sometimes the files read and sometimes they don't but I'm starting to think that maybe part of the problem is Cool Reader since most apps will read files when I get to them through /storage/4707-D740 (which I assume is a device specific naming convention) but Cool Reader won't. I can open some things through Cool Reader if I navigate to them through the storage access framework (SAF) instead, but I'm starting to think it's actually just misinterpreting the path and opening the copy I moved to the internal memory instead of the copy on the external SD card, so you may be right about Cool Reader having an issue. I tried using File Commander, which is what comes pre-installed on the phone, and I got the "non-standard path" error there as well. The pre-Marshmallow path of /storage/emulated/1 doesn't seem to exist anymore.
It looks like the project owner was assigning bugs to himself last month, including #365, so it will probably get updated at some point. I had to remap several apps to the new SD card path after the Marshmallow update, and Cool Reader wasn't the only one I had problems getting to it with, but right now it is the only one where I can't figure out how to get to the SD card at all from it.
Last edit: ds 2016-03-23
I'm having the same issue - since the phone got updated to Android 6 cool reader is not able to open the books from external sd. Same " nonstandard path" message comes when trying to open the books directly in the file explorer.
Worked fine on Android 5. Have seen on Android forums , that on Android 6 the handling of external sd was changed.
This may be a solution, but needs to be added to the code:
http://stackoverflow.com/questions/33139754/android-6-0-marshmallow-cannot-write-to-sd-card
Hi Vadim, I noticed Commit [d8a3a1] Android 6 SD card path support on 2016-08-25
Is there anything blocking a release?
I'm happy to pitch in, but I might need some direction. Thanks for all your great work!
Related
Commit: [d8a3a1]
Vadim, just hardcoding the different paths is not enough to address the issue on accessing SD Card on Marshmallow. You also need to request the appropriate permissions, either natively or via Android support library. Please check http://www.ulduzsoft.com/2017/05/why-your-app-cant-see-sd-card-on-android-marshmallow/
Obviously nothing being done on this problem over past year. I am using Android 7.0, and I get the same "nonstandard path" error when trying to open a book from some file managers )ther file managers do not even show Coolreader as an option!). Coolreader's internal file browser cannot see the external SD card at all.