I am developing an Android application which uses some native code. The native library I am using comes with two variants, one for ARM v6 architecture and one for v7. Therefore in my libs folder I have two folders, ‘armeabi’ for the v6 lib and ‘armeabi-v7a’ for the v7 lib. The main problem here is that this lib is around 8mb, so I have 16mb’s of libs when only one of these libs is ever required depending on the device – I have 8mb’s of bloat which makes my apk rather large.
If I create 2 seperate apk’s, with different version codes, one with the v6 lib and one with the v7 lib with different version codes, Google Play does not recognise any difference in device support between these two apk’s and tries to replace one with the other.
I have seen this question where this issue is discussed but no solution is offered.
How do I get Google Play to let these two APK’s be published along side each other?
Any help would be much appreciated.
This is not (yet) possible. Refer http://developer.android.com/guide/google/play/publishing/multiple-apks.html#SupportedFilters
Edit: One solution which comes to my mind is plugin based: You deploy one app with core logic, UI, and all that stuff and provide several different “apps” which are signed with the same certificate but only contain the native libs.
MXPlayer uses this approach to support different architectures without bloating a singel APK: https://sites.google.com/site/mxvpen/download (see section “Codec”).