Fixed
Status Update
Comments
dn...@google.com <dn...@google.com>
dn...@google.com <dn...@google.com> #2
Hi,
Can you provide the below requested information to better understand the issue:
Steps to reproduce
What steps do others need to take in order to reproduce the issue themselves?
Please explain the exact reproduction steps to test this issue.
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Expected output
What do you expect to occur?
Current output
What do you see instead?
Can you provide the below requested information to better understand the issue:
Steps to reproduce
What steps do others need to take in order to reproduce the issue themselves?
Please explain the exact reproduction steps to test this issue.
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Expected output
What do you expect to occur?
Current output
What do you see instead?
t....@gmail.com <t....@gmail.com> #3
- Steps to reproduce
0. Upload the app that specified targetSdkVersion=23 and APK Expansion files to Google Play Store via Developer Console.
1. Download the app and APK Expansion files from Google Play Store on Android 6.0. I'm using Nexus 5X.
2. Launch the app and access the obb file.
3. Exception raised: java.io.FileNotFoundException: /storage/emulated/0/Android/obb/<package-name>/main.<expansion-version>.<packag-name>.obb: open failed: EACCES (Permission denied)
3-1. Checking the file and directory owner, it is "root".
4. Reboot the device.
5. The file and directory owner is changed to app-specific user, e.g."u0_a131".
6. The app can access obb files correctly without runtime-permission.
On step 3,
if the app obtained the permission "android.permission.READ_EXTERNAL_STORAGE" by Runtime-Permission system, the app can access obb files correctly.
If the app is specified targetSdkVersion<=22, no problems.
- Frequency
100%
- Expected output
The app can access obb files without runtime-permissions and no exceptions.
- Current output
The app can not access obb files without runtime-permissions because raising an exception.
0. Upload the app that specified targetSdkVersion=23 and APK Expansion files to Google Play Store via Developer Console.
1. Download the app and APK Expansion files from Google Play Store on Android 6.0. I'm using Nexus 5X.
2. Launch the app and access the obb file.
3. Exception raised: java.io.FileNotFoundException: /storage/emulated/0/Android/obb/<package-name>/main.<expansion-version>.<packag-name>.obb: open failed: EACCES (Permission denied)
3-1. Checking the file and directory owner, it is "root".
4. Reboot the device.
5. The file and directory owner is changed to app-specific user, e.g."u0_a131".
6. The app can access obb files correctly without runtime-permission.
On step 3,
if the app obtained the permission "android.permission.READ_EXTERNAL_STORAGE" by Runtime-Permission system, the app can access obb files correctly.
If the app is specified targetSdkVersion<=22, no problems.
- Frequency
100%
- Expected output
The app can access obb files without runtime-permissions and no exceptions.
- Current output
The app can not access obb files without runtime-permissions because raising an exception.
mf...@gmail.com <mf...@gmail.com> #4
I can confirm this issue. After reboot, the owner of the expansion file AND of the directory containing it (still app-specific) is set to the correct user.
Before rebooting-the app cannot use the expansion file. Please also provide a workaround, if possible. I don't want to ask the user for permission.
http://developer.android.com/reference/android/content/Context.html#getObbDirs() clearly states that the external storage permission should not be needed (and is not, after a reboot).
Before rebooting-the app cannot use the expansion file. Please also provide a workaround, if possible. I don't want to ask the user for permission.
tp...@tpronold.de <tp...@tpronold.de> #5
I have the same problem.
ri...@g5.com <ri...@g5.com> #6
any update on the issue?
st...@gmail.com <st...@gmail.com> #7
Same problem here, can we please get an update?
st...@gmail.com <st...@gmail.com> #8
[Comment deleted]
st...@gmail.com <st...@gmail.com> #9
While we wait for a fix, what's the best way to handle it? Set target SDK to 22? Ask for user permissions at runtime?
sa...@gmail.com <sa...@gmail.com> #10
Is there any progress? Unfortunately i was stupid enough to upload a beta with target 23 and now can't switch back. If the user denies the permission the app won't start at all. Normally i think the Google Play service should set the correct permissions for the OBB file during the install process.
da...@gmail.com <da...@gmail.com> #11
[Comment deleted]
da...@gmail.com <da...@gmail.com> #12
As workaround for API 23 I downloaded .obb to private app files directory which I have access to. Of course it is not ideal solution, but it works. See details here https://github.com/danikula/Google-Play-Expansion-File
st...@gmail.com <st...@gmail.com> #13
It's really not an ideal solution indeed: it doubles the app size...
Another (not ideal either) solution is detecting this and ask the user to reboot the phone.
Another (not ideal either) solution is detecting this and ask the user to reboot the phone.
sa...@gmail.com <sa...@gmail.com> #14
[Comment deleted]
da...@gmail.com <da...@gmail.com> #15
For my 20mb .obb it is acceptable solution. I don't know another way to use 23 api and expansion files simultaneously.
sa...@gmail.com <sa...@gmail.com> #16
Doubling the app size is never a good idea. For me it would be about +170MB which is hard to justify in front of the users. I think I will integrate a nag-screen (ask for permission) in the downloader to fix the issue.
sa...@gmail.com <sa...@gmail.com> #17
Btw, according to my tests a restart isn't even necessary, it's enough to copy something on the SD card for example. It seems that some changes trigger the change.
in...@gmail.com <in...@gmail.com> #18
Is this issue being actively looked at by anyone at google? This is a serious issue. Making my customers restart on some devices is really not an acceptable solution.
sa...@gmail.com <sa...@gmail.com> #19
You can ask for permission at start and if the user won't give it warn him and exit. That's the only "elegant" solution I've found so far.
an...@gmail.com <an...@gmail.com> #20
Anybody got any update on this?
ne...@gmail.com <ne...@gmail.com> #21
The requested info was provided almost a year ago but issue status hasn't been updated still, is it lost or something? Someone should look into this, and at least close the task if it can't be fixed.
th...@gmail.com <th...@gmail.com> #22
I'm having the same problem on Samsung phones (confirmed on S5 and S7).
The S5 specs: SM-G900F, Android 6.0.1, Patch Level August 1, 2016.
We're generating the OBB file with Unity3d.
I cannot believe that no expansion files would be working with a S5 or S7, so it must be something which only happens under special circumstances. What could it be?
The S5 specs: SM-G900F, Android 6.0.1, Patch Level August 1, 2016.
We're generating the OBB file with Unity3d.
I cannot believe that no expansion files would be working with a S5 or S7, so it must be something which only happens under special circumstances. What could it be?
th...@gmail.com <th...@gmail.com> #23
In addition to my previous comment, these are the sdk versions setup and permissions used in our AndroidManifest.xml:
```
...
<uses-sdk android:minSdkVersion="18" targetSdkVersion="22"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_NETWORK_STATE" />
<permission android:name="com.ourcompany.ourapp.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.ourcompany.ourapp.permission.C2D_MESSAGE" />
...
```
```
...
<uses-sdk android:minSdkVersion="18" targetSdkVersion="22"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_NETWORK_STATE" />
<permission android:name="com.ourcompany.ourapp.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.ourcompany.ourapp.permission.C2D_MESSAGE" />
...
```
dn...@google.com <dn...@google.com> #24
Can you please check the issue on latest version of android and let us know the result?
ri...@g5.com <ri...@g5.com> #25
looks like the issue has been fixed for Android 7.0
st...@gmail.com <st...@gmail.com> #26
Great. But that still doesn't tell us how we should handle that for Android 6.x devices.
dn...@google.com <dn...@google.com> #27
This issue could not be reproduced in android N builds. At this point, our eng teams are not prioritizing changes on earlier releases. Please file a new bug if you encounter this issue on 7.0+.
ri...@g5.com <ri...@g5.com> #28
so we'll have to use android.permission.WRITE_EXTERNAL_STORAGE forever or get rid of OBB...
ri...@g5.com <ri...@g5.com> #29
it's a pity, because android.permission.WRITE_EXTERNAL_STORAGE considered as "Dangerous Permission" and presents scary prompt to user about photos & stuff.
st...@gmail.com <st...@gmail.com> #30
Classic :(
mh...@gmail.com <mh...@gmail.com> #31
Has this been fixed recently? We had a pretty major issue with this a while back but now can't reproduce.
al...@gmail.com <al...@gmail.com> #32
what's a good way to test on a 7.0 device to confirm my game is no longer asking for the permission? Can i sideload the APK, place the OBB in the appropriate folder and then launch the game and it shouldn't ask for permissions? Or is there a correct order I should follow? I just don't want to upload to the portal and not have a way out of being stuck on 24. any help would be appreciated!
gr...@gmail.com <gr...@gmail.com> #33
[Comment deleted]
pi...@googlemail.com <pi...@googlemail.com> #34
Eventually everyone seems to stumble upon this issue.
I used to require WRITE permission for my apps and was nagged by people complaining what my apps need it for. Now that I finally moved APIs higher I thought this belonged to the past -- just to be greeted by a bug which no one is fixing?
I guess the old WRITE has to stay. Now let's see if Android 6+ will require a confirmation dialog for it to work...
I used to require WRITE permission for my apps and was nagged by people complaining what my apps need it for. Now that I finally moved APIs higher I thought this belonged to the past -- just to be greeted by a bug which no one is fixing?
I guess the old WRITE has to stay. Now let's see if Android 6+ will require a confirmation dialog for it to work...
ag...@gmail.com <ag...@gmail.com> #35
This is a bit serious, isn't it? A lot of people still use 6! Google has been pretty much abandoning expansion file maintenance!
Wouldn't it be more appropriate to change version to 6 and unmark as fixed? Can developers using APK expansions just wait for 99% of users to upgrade to 7 or should they suffer 1-star ratings in the meantime?
Wouldn't it be more appropriate to change version to 6 and unmark as fixed? Can developers using APK expansions just wait for 99% of users to upgrade to 7 or should they suffer 1-star ratings in the meantime?
ne...@gmail.com <ne...@gmail.com> #36
Just check the primary location and redownload obb elsewhere if it isn't accessible, then delete the copy once correct ownership is restored.
[Deleted User] <[Deleted User]> #37
Redownloading the obb will be pretty annoying to our customers, this can't be considered fixed at all, I got this bug on a Samsung S7 with Android 7.0, it's not fixed.
yl...@gmail.com <yl...@gmail.com> #38
Same problem here.
App built with Xamarin.forms. Targeting android 7.1, minimum android 4.4. The app is using a .obb file.
App built with Xamarin.forms. Targeting android 7.1, minimum android 4.4. The app is using a .obb file.
co...@gmail.com <co...@gmail.com> #39
wow! how is this not fixed yet? I am loosing customers because of this and $$. I have been awake for 36 hours trying to find a solution
[Deleted User] <[Deleted User]> #40
al...@googlemail.com <al...@googlemail.com> #41
NOT fixed in API 23.
ho...@gmail.com <ho...@gmail.com> #42
I am having this same issue as well.
00...@gmail.com <00...@gmail.com> #43
This is still a major problem and Google Play's feature review team frequently tells us to REMOVE WRITE_EXTERNAL_STORAGE!
[Deleted User] <[Deleted User]> #44
Issue can be reproduced on Samsung Galaxy S8 and S8+.
Nexus 6 running 7.1.1 had no issue, Nexus 6P running 8.0 (Oreo) has no issue.
Please confirm, we can reproduce this issue on S8 running 7.0 builds.
Kindly confirm this can be reproduced or not.
We can reproduce it 100% of the time.
Restarting phone solves the problem 100% of the time.
So comments claiming 7.0 solved the issue may be specific cases with phones that had no issues at all.
Nexus 6 running 7.1.1 had no issue, Nexus 6P running 8.0 (Oreo) has no issue.
Please confirm, we can reproduce this issue on S8 running 7.0 builds.
Kindly confirm this can be reproduced or not.
We can reproduce it 100% of the time.
Restarting phone solves the problem 100% of the time.
So comments claiming 7.0 solved the issue may be specific cases with phones that had no issues at all.
na...@gmail.com <na...@gmail.com> #45
Same issue here.
na...@gmail.com <na...@gmail.com> #46
I've solved it asking for permissions at Runtime with a plugin for Read External and Write External storage.
No need to restart on Samsung J1 (Android 6).
No need to restart on Samsung J1 (Android 6).
ma...@gmail.com <ma...@gmail.com> #47
same issue, so ther workaround is to add permissions?
zb...@gmail.com <zb...@gmail.com> #48
The issue continues and makes me very angry.
Asking runtime permission won't solve the issue when the obb file is already mounted.
Asking runtime permission won't solve the issue when the obb file is already mounted.
da...@gmail.com <da...@gmail.com> #49
looks like the issue has been fixed,full description here - https://theapkplace.com
Description
Download the app using APK Expansion files from Google Play Store on Android 6.0.
I'm using Nexus 5X.
- What happened.
APK Expansion files and the directory's owner is "drwxrwx--x root sdcard_rw".
so the app that specifies targetSdkVersion=23 can NOT access expansion files on Android 6.0 without explicit runtime-permission of android.permission.READ_EXTERNAL_STORAGE (or change the permission on Settings app).
After rebooting the device, these owner and permission is changed to "drwxrwx--x u0_a143 sdcard_rw" and the app CAN access expansion files without runtime-permission.
The app that specifies targetSdkVersion<=22 CAN access APK Expansion files on Android 6.0 any time.
- What you think the correct behavior should be.
The application that specifies targetSdkVersion=23 can access it's APK Expansion files without runtime-permission on Android 6.0.