How to force Android application to use either 32bit or 64 bit libraries

前端 未结 3 422
既然无缘
既然无缘 2021-02-02 02:32

On a Android device with 64bit ARM, would have two variants of many libraries, 32bit and 64 bit, and their performance could be different. I want to know if there is a way to fo

相关标签:
3条回答
  • 2021-02-02 02:37
    1. If your apk is written in pure java (without jni), on 64-bit-primiary/32-bit-secondary Android OS, your app will always run in 64 bit mode by default, but if you want your app to run in 32 bit mode, you can create a dummy *.so file and put it under <your apk name>/libs/armeabi/ to force AndroidRuntime to create a 32 bit VM for your app

    2. If some function of your apk is written in jni (there's any *.so file in <your apk name>/libs/ folder), you can use following command to make it run in 64 or 32 bit VM:

      • To run in 32 bit mode, because only 32 bit native libs will be installed

      adb shell install --abi armeabi-v7a <path to your apk>

      • To run in 64 bit mode, because only 64 bit native libs will be installed

      adb shell install --abi arm64-v8a <path to your apk>

    0 讨论(0)
  • 2021-02-02 02:43

    https://source.android.com/source/64-bit-builds.html

    Try this in you Android.mk

    LOCAL_MULTILIB := 32 // or 64
    
    0 讨论(0)
  • 2021-02-02 02:44

    ABI can be specified when the apk is installed.

    adb install --abi <path to apk>

    In case ARM device,

    To run in 32 bit mode install using,

    adb install --abi armeabi-v7a <path to apk>

    To run in 64 bit mode install using,

    adb install --abi arm64-v8a <path to apk>

    0 讨论(0)
提交回复
热议问题