I am using OpenFL to build an Android app to distribute on Google Play. I want to target only armv7
devices, and I believe OpenFL does armv7
-only builds by default.
However when building the OpenFL build system creates and populates the libs/armeabi
folder instead of a libs/armeabi-v7a
folder. The problem with this is that this makes Google Play believe that the resulting apk supports armv5/armv6/armv7
when in reality it only supports armv7
. This means my apps get some 1-star reviews from people with the older/incompatible devices.
On this Github issue, Joshua Granick (jgranick) explains why the build tools do this:
Oh and BTW, originally we tried only armeabi-v7, but it failed to run on certain devices. This is why there's the current behavior or using armeabi, and adding armeabi-v7 only if there is an armv5/6 version too
I would like to know what the issue he mentions is, and what devices/Android versions it would affect. Depending on what it is, it may be possible to still just do an armv7
build and manually blacklist the buggy devices.
A final option is to simply support the armv5/armv6
devices by doing a "fat" build, or by only building for armv5
which I assume is compatible everywhere. This is quite easy using the <architecture>
tag in the project.xml
file. It's a tradeoff I may take if there is no way to work around the problem Joshua mentioned.
Also using the Google Play developer dashboard I could also blacklist armv5/armv6 devices manually, but it would be very time consuming to do this for every app/apk.
Also for reference here are the relevant Google Play apk details I get when I build armv7
-only:
Thanks!
0 comments:
Post a Comment