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.
So my question is: how can I make
armv7-only Android builds using OpenFL and get Google Play to only allow compatible devices, without running into problems like the one I quoted above? If that isn't possible, then what is my best option?
For reference here are the relevant Google Play apk details I get when I build