Originally created by @cassieesposito on GitHub (Mar 20, 2022).
Steps to reproduce
Open audiobookshelf
Go to page for particular audiobook
Click download button
Select a folder to Download in.
Touch "USE THIS FOLDER"
Touch "ALLOW" on dialog "Allow AudioBookshelf to access files in [folder name]"
Expected behaviour
Access granted, audiobook starts downloading
Actual behaviour
Red notice at the bottom of the screen that says "Error: Access Denied"
Troubleshooting steps already attempted
Open system settings and grant "Storage" permissions to Audiobookshelf app manually. No change to behavior.
Environment data
Audiobookshelf Server Version: 1.7.1, Debian package
Audiobookshelf App Version: 0.9.40-beta
Android version: Android 10
Device model: Motorola One 5g Ace
Stock or customized system: Stock
Originally created by @cassieesposito on GitHub (Mar 20, 2022).
### Steps to reproduce
1. Open audiobookshelf
2. Go to page for particular audiobook
3. Click download button
4. Select a folder to Download in.
5. Touch "USE THIS FOLDER"
6. Touch "ALLOW" on dialog "Allow AudioBookshelf to access files in [folder name]"
### Expected behaviour
- Access granted, audiobook starts downloading
### Actual behaviour
- Red notice at the bottom of the screen that says "Error: Access Denied"
### Troubleshooting steps already attempted
1. Open system settings and grant "Storage" permissions to Audiobookshelf app manually. No change to behavior.
### Environment data
Audiobookshelf Server Version: 1.7.1, Debian package
Audiobookshelf App Version: 0.9.40-beta
Android version: Android 10
Device model: Motorola One 5g Ace
Stock or customized system: Stock
adam
added the bug label 2026-04-24 23:06:09 +02:00
@cassieesposito commented on GitHub (Mar 21, 2022):
Yes. I have tried multiple directories. I have tried pre-existing directories. I tried newly created directories. I tried external SD card and internal storage. I tried a subfolder of "Downloads" because I was fairly certain that would be allowable for userland apps. All produced the same results.
@cassieesposito commented on GitHub (Mar 21, 2022):
Yes. I have tried multiple directories. I have tried pre-existing directories. I tried newly created directories. I tried external SD card and internal storage. I tried a subfolder of "Downloads" because I was fairly certain that would be allowable for userland apps. All produced the same results.
@cassieesposito commented on GitHub (Mar 21, 2022):
I just encountered similar behavior on another device:
Audiobookshelf Server Version: 1.7.1, Debian package
Audiobookshelf App Version: 0.9.40-beta
Android version: Android 10
Device model: Lenovo Tab M10 FHD Plus
Stock or customized system: Stock
I do NOT have this problem on this device:
Audiobookshelf Server Version: 1.7.1, Debian package
Audiobookshelf App Version: 0.9.40-beta
Android version: Android 11
Device model: Motorola Moto G6 Plus
Stock or customized system: Lineage OS 18.1
@cassieesposito commented on GitHub (Mar 21, 2022):
I just encountered similar behavior on another device:
Audiobookshelf Server Version: 1.7.1, Debian package
Audiobookshelf App Version: 0.9.40-beta
Android version: Android 10
Device model: Lenovo Tab M10 FHD Plus
Stock or customized system: Stock
I do NOT have this problem on this device:
Audiobookshelf Server Version: 1.7.1, Debian package
Audiobookshelf App Version: 0.9.40-beta
Android version: Android 11
Device model: Motorola Moto G6 Plus
Stock or customized system: Lineage OS 18.1
I ran into the exact same problem as you on my Galaxy S9.
I was able to fix it by clearing the data/cache of the app and starting over. That seemed to do the trick for me.
After I cleared the cache and re-setup the server I first tried the download folder on my local phones storage and that worked. I then tried an folder on my SD card but that didn't work I got a permission error. However I had previously gotten a message saying give it permissions on the root of the SD card first. I first select the root of the SD card and that work. After that I could select my Audiobook folder I have on the SD card.
@Catsrules commented on GitHub (Mar 24, 2022):
I ran into the exact same problem as you on my Galaxy S9.
I was able to fix it by clearing the data/cache of the app and starting over. That seemed to do the trick for me.
After I cleared the cache and re-setup the server I first tried the download folder on my local phones storage and that worked. I then tried an folder on my SD card but that didn't work I got a permission error. However I had previously gotten a message saying give it permissions on the root of the SD card first. I first select the root of the SD card and that work. After that I could select my Audiobook folder I have on the SD card.
On a Note9 having the same issue. When I first set up the app I attempted to set the download location to a folder on the sdcard. Clearing the data/cache of the app and starting over also did the trick.
clear app/data cache
login
Open Menu > Select Downloads
Select File > Change Folder
Navigate to SD Card > Grant access to "SD Card"
Select Change Folder
Navigate to SD Card > Subdirectory > Grant Access to "Subdirectory"
Content downloads without issue.
@JerboaGobi commented on GitHub (Mar 30, 2022):
>
On a Note9 having the same issue. When I first set up the app I attempted to set the download location to a folder on the sdcard. Clearing the data/cache of the app and starting over also did the trick.
- clear app/data cache
- login
- Open Menu > Select Downloads
- Select File > Change Folder
- Navigate to SD Card > Grant access to "SD Card"
- Select Change Folder
- Navigate to SD Card > Subdirectory > Grant Access to "Subdirectory"
Content downloads without issue.
Despite having grated storage access as well as tapping "allow" after selecting folder, app will show "Error: Access Denied" flash message.
One would almost say, that the Android 10 is a culprit here. I have tried to capture some logs from the device, but I cannot see anything really useful
04-26 07:57:28.148 25016 25016 E AbsFileSystem: STORAGE ACCESS DENIED
04-26 07:57:28.561 23536 23536 I Surface : opservice is null false
04-26 07:57:28.563 829 3028 E SurfaceFlinger: Permission Denial: SurfaceFlinger did not recognize request code: 20001
04-26 07:57:28.563 1603 4621 E OnePlusService: Exception notifySurfaceFlingerUpdate
04-26 07:57:28.563 1603 4621 W System.err: java.lang.SecurityException
04-26 07:57:28.563 1603 4621 W System.err: at android.os.BinderProxy.transactNative(Native Method)
04-26 07:57:28.563 1603 4621 W System.err: at android.os.BinderProxy.transact(BinderProxy.java:557)
04-26 07:57:28.563 1603 4621 W System.err: at com.oneplus.server.OnePlusService.notifySurfaceFlingerUpdate(Unknown Source:21)
04-26 07:57:28.563 1603 4621 W System.err: at com.oneplus.os.IOnePlusService$Stub.onTransact(IOnePlusService.java:356)
04-26 07:57:28.563 1603 4621 W System.err: at android.os.Binder.execTransactInternal(Binder.java:1032)
04-26 07:57:28.564 1603 4621 W System.err: at android.os.Binder.execTransact(Binder.java:1005)
@bobek commented on GitHub (Apr 26, 2022):
I am facing the same issue on
Audiobookshelf Server Version: 2.0.3, docker
Audiobookshelf App Version: 0.9.42-beta
Android version: Android 10
Device model: OnePlus 5
Stock or customized system: OxygenOS 10.0.1
Despite having grated storage access as well as tapping "allow" after selecting folder, app will show "Error: Access Denied" flash message.
One would almost say, that the Android 10 is a culprit here. I have tried to capture some logs from the device, but I cannot see anything really useful
```
04-26 07:57:28.148 25016 25016 E AbsFileSystem: STORAGE ACCESS DENIED
04-26 07:57:28.561 23536 23536 I Surface : opservice is null false
04-26 07:57:28.563 829 3028 E SurfaceFlinger: Permission Denial: SurfaceFlinger did not recognize request code: 20001
04-26 07:57:28.563 1603 4621 E OnePlusService: Exception notifySurfaceFlingerUpdate
04-26 07:57:28.563 1603 4621 W System.err: java.lang.SecurityException
04-26 07:57:28.563 1603 4621 W System.err: at android.os.BinderProxy.transactNative(Native Method)
04-26 07:57:28.563 1603 4621 W System.err: at android.os.BinderProxy.transact(BinderProxy.java:557)
04-26 07:57:28.563 1603 4621 W System.err: at com.oneplus.server.OnePlusService.notifySurfaceFlingerUpdate(Unknown Source:21)
04-26 07:57:28.563 1603 4621 W System.err: at com.oneplus.os.IOnePlusService$Stub.onTransact(IOnePlusService.java:356)
04-26 07:57:28.563 1603 4621 W System.err: at android.os.Binder.execTransactInternal(Binder.java:1032)
04-26 07:57:28.564 1603 4621 W System.err: at android.os.Binder.execTransact(Binder.java:1005)
```
Please try again with the app version v0.9.43-beta
Unfortunately no change for me. Still getting the access denied error. Is there anything I can share to simplify debugging?
@bobek commented on GitHub (May 1, 2022):
> Please try again with the app version v0.9.43-beta
Unfortunately no change for me. Still getting the access denied error. Is there anything I can share to simplify debugging?
When you first launched the app did you accept the permission request?
I'm not familiar with OxygenOS. Can you go through the settings and try setting permissions for the app?
@advplyr commented on GitHub (May 1, 2022):
When you first launched the app did you accept the permission request?
I'm not familiar with OxygenOS. Can you go through the settings and try setting permissions for the app?
When you first launched the app did you accept the permission request?
Sure thing. I think that I've done what I should have as a user. Just to be sure, I have
uninstalled the app, and installed it again from the app store (google play)
app asks for the storage permissions after launch
it is the correct version, so adding the local media path (it doesn't matter if app is connected to the server or not, behavior seems the same)
Selected folder (Downloads in this case) and confirmed. Additional popup shows
Tapped Allow (Cancel closes just the popup and returns to folder selection). Folder is not added and the error flash message is shown.
Just to be sure, checking permissions via the App info
@bobek commented on GitHub (May 1, 2022):
> When you first launched the app did you accept the permission request?
Sure thing. I think that I've done what I should have as a user. Just to be sure, I have
- uninstalled the app, and installed it again from the app store (google play)
- app asks for the storage permissions after launch

- it is the correct version, so adding the local media path (it doesn't matter if app is connected to the server or not, behavior seems the same)

- Selected folder (`Downloads` in this case) and confirmed. Additional popup shows

- Tapped `Allow` (`Cancel` closes just the popup and returns to folder selection). Folder is not added and the error flash message is shown.

- Just to be sure, checking permissions via the `App info`

Thanks for providing details, that is helpful. I know there is some weirdness around the Download folder specifically. Have you tried other folders that are already on your phone?
There is also a solution posted on discord relating to giving access permission to every system folder below, but I'm not sure how that works: https://discord.com/channels/942908292873723984/942914154254176257/970030898995163226
@advplyr commented on GitHub (May 1, 2022):
Thanks for providing details, that is helpful. I know there is some weirdness around the Download folder specifically. Have you tried other folders that are already on your phone?
There is also a solution posted on discord relating to giving access permission to every system folder below, but I'm not sure how that works: https://discord.com/channels/942908292873723984/942914154254176257/970030898995163226
Thanks for providing details, that is helpful. I know there is some weirdness around the Download folder specifically. Have you tried other folders that are already on your phone?
Yes, I've tried different folder(s) as well. Behavior is the same, so I have not reported it, but yeah, something else than Downloads would be probably less confusing.
That works 👍 . So it is resolved for me, maybe you may consider adding the hint directly into the app, so people try that first before reporting issues.
For the benefit of others, the solution is to
give permission to /0/ first
then to give permission to folder of your choice, e.g. audiobooks/
basically you need to give permissions to every directory along the path to your target one
@bobek commented on GitHub (May 1, 2022):
> Thanks for providing details, that is helpful. I know there is some weirdness around the Download folder specifically. Have you tried other folders that are already on your phone?
Yes, I've tried different folder(s) as well. Behavior is the same, so I have not reported it, but yeah, something else than `Downloads` would be probably less confusing.
> There is also a solution posted on discord relating to giving access permission to every system folder below, but I'm not sure how that works: https://discord.com/channels/942908292873723984/942914154254176257/970030898995163226
That works :+1: . So it is resolved for me, maybe you may consider adding the hint directly into the app, so people try that first before reporting issues.
For the benefit of others, the solution is to
- give permission to `/0/` first
- then to give permission to folder of your choice, e.g. `audiobooks/`
- basically you need to give permissions to every directory along the path to your target one
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @cassieesposito on GitHub (Mar 20, 2022).
Steps to reproduce
Expected behaviour
Actual behaviour
Troubleshooting steps already attempted
Environment data
Audiobookshelf Server Version: 1.7.1, Debian package
Audiobookshelf App Version: 0.9.40-beta
Android version: Android 10
Device model: Motorola One 5g Ace
Stock or customized system: Stock
@advplyr commented on GitHub (Mar 20, 2022):
Is this happening for every directory you try?
@cassieesposito commented on GitHub (Mar 21, 2022):
Yes. I have tried multiple directories. I have tried pre-existing directories. I tried newly created directories. I tried external SD card and internal storage. I tried a subfolder of "Downloads" because I was fairly certain that would be allowable for userland apps. All produced the same results.
@cassieesposito commented on GitHub (Mar 21, 2022):
I just encountered similar behavior on another device:
Audiobookshelf Server Version: 1.7.1, Debian package
Audiobookshelf App Version: 0.9.40-beta
Android version: Android 10
Device model: Lenovo Tab M10 FHD Plus
Stock or customized system: Stock
I do NOT have this problem on this device:
Audiobookshelf Server Version: 1.7.1, Debian package
Audiobookshelf App Version: 0.9.40-beta
Android version: Android 11
Device model: Motorola Moto G6 Plus
Stock or customized system: Lineage OS 18.1
@Catsrules commented on GitHub (Mar 24, 2022):
I ran into the exact same problem as you on my Galaxy S9.
I was able to fix it by clearing the data/cache of the app and starting over. That seemed to do the trick for me.
After I cleared the cache and re-setup the server I first tried the download folder on my local phones storage and that worked. I then tried an folder on my SD card but that didn't work I got a permission error. However I had previously gotten a message saying give it permissions on the root of the SD card first. I first select the root of the SD card and that work. After that I could select my Audiobook folder I have on the SD card.
@JerboaGobi commented on GitHub (Mar 30, 2022):
On a Note9 having the same issue. When I first set up the app I attempted to set the download location to a folder on the sdcard. Clearing the data/cache of the app and starting over also did the trick.
Content downloads without issue.
@bobek commented on GitHub (Apr 26, 2022):
I am facing the same issue on
Audiobookshelf Server Version: 2.0.3, docker
Audiobookshelf App Version: 0.9.42-beta
Android version: Android 10
Device model: OnePlus 5
Stock or customized system: OxygenOS 10.0.1
Despite having grated storage access as well as tapping "allow" after selecting folder, app will show "Error: Access Denied" flash message.
One would almost say, that the Android 10 is a culprit here. I have tried to capture some logs from the device, but I cannot see anything really useful
@advplyr commented on GitHub (Apr 30, 2022):
Please try again with the app version v0.9.43-beta
@bobek commented on GitHub (May 1, 2022):
Unfortunately no change for me. Still getting the access denied error. Is there anything I can share to simplify debugging?
@advplyr commented on GitHub (May 1, 2022):
When you first launched the app did you accept the permission request?
I'm not familiar with OxygenOS. Can you go through the settings and try setting permissions for the app?
@bobek commented on GitHub (May 1, 2022):
Sure thing. I think that I've done what I should have as a user. Just to be sure, I have
Downloadsin this case) and confirmed. Additional popup showsAllow(Cancelcloses just the popup and returns to folder selection). Folder is not added and the error flash message is shown.App info@advplyr commented on GitHub (May 1, 2022):
Thanks for providing details, that is helpful. I know there is some weirdness around the Download folder specifically. Have you tried other folders that are already on your phone?
There is also a solution posted on discord relating to giving access permission to every system folder below, but I'm not sure how that works: https://discord.com/channels/942908292873723984/942914154254176257/970030898995163226
@bobek commented on GitHub (May 1, 2022):
Yes, I've tried different folder(s) as well. Behavior is the same, so I have not reported it, but yeah, something else than
Downloadswould be probably less confusing.That works 👍 . So it is resolved for me, maybe you may consider adding the hint directly into the app, so people try that first before reporting issues.
For the benefit of others, the solution is to
/0/firstaudiobooks/@wtanksleyjr commented on GitHub (May 24, 2022):
Confirm that it works to give permissions to every folder in the path.
@cassieesposito commented on GitHub (Jun 3, 2022):
Resolved in 0.9.46 beta