3

My app uses a big native library, with versions for x86, armeabi, and armeabi-v7.

  • Can Arm v7 devices use the older libs, yet at some performance cost or something, so I am not forced to include both libraries in the APK?

  • What happens when the app runs on a device, ie. MIPS, and a native library is missing for that architecture? Does it crash? Or native calls would be ignored?

rupps
  • 9,712
  • 4
  • 55
  • 95
  • 1
    Answer to first part: http://stackoverflow.com/questions/7080525/why-use-armeabi-v7a-code-over-armeabi-code – Morrison Chang Nov 19 '14 at 19:36
  • 1
    Partial answer to second at least for x86: http://stackoverflow.com/questions/13005303/how-does-native-android-code-written-for-arm-run-on-x86 – Morrison Chang Nov 19 '14 at 19:39
  • thanks! I really did look for the question before posting, guess didn't find the proper keywords :) – rupps Nov 19 '14 at 19:40
  • One of the answers claim a ARM to MIPS translation: http://stackoverflow.com/questions/21480838/will-the-binaries-built-for-arm-work-on-intel-processors-android – Morrison Chang Nov 19 '14 at 19:45
  • yeah, that's amazing, and also ARM to x86. That's maybe too much, I was looking to include ARM and x86 (every lib is 2.5mb) and discard MIPS and ARMv7 at the moment, even though in the answer you linked they say that ARMv7 is way faster than normal ARM, in areas like floating point and context changes. Difficult decision, but at the moment I'd like to avoid the multiple APK versioning hell. – rupps Nov 19 '14 at 19:51
  • Haven't tried gradle for APK splits, so just a suggestion: http://stackoverflow.com/questions/19268647/gradle-android-build-for-different-processor-architectures – Morrison Chang Nov 19 '14 at 20:20
  • hey! thanks for the cool link, really informative! At the moment I'm trying to avoid that, because then I'd have to maintain several version codes in order to upload them to google play. As I already do this for Phones/tablets/TV ... it's gonna be a real exponential pain (12 versions!!) , and the native routines only provide edge functionality (it's a Haptics Vibration Library and some image effects). Maybe in the future I'll do this, but at the moment I'll just compile for the 2 most common platforms (armeabi & x86) – rupps Nov 20 '14 at 09:28

0 Answers0