Hi,
I`m developing a game which targets api level 23 and uses ndk-r10e platform 15. Most of the code is native C++, java is used only when necessary. It uses expansion files. It does not use NativeActivity and just runs in a separate native thread (SDL 1.3).
The game works fine on devices with Android below 6.0, but on 6.0 there is a weird issue when you get apk + obb at once from the play store: C function fopen(<path to obb>, "rb") fails with errno 13 : Permission denied. Though if you sideload the obb to the device manually it
is able to open the file without problems. The obvious solution is to request WRITE_EXTERNAL_STORAGE (which is listed in manifest) runtime permission and if it is enabled in google settings for the app it is able to access the file. But the publisher says that other games which target api 23 and also use obb can access it without permissions and they use cocos2d which also opens files with fopen judging by github code, though there is no 100% certainty those games are built using latest build tools.
So the question is - is it possible to read expasion files without requesting runtime permission on Android 6.0 using NDK?