Вопрос:
На Android-устройстве с 64-битным ARM было бы два варианта многих библиотек, 32 бит и 64 бит, и их производительность может быть разной. Я хочу знать, есть ли способ заставить приложение использовать 32-битные или 64-битные библиотеки.
Лучший ответ:
ABI может быть задан при установке apk.
adb install —abi <path to apk>
В случае устройства ARM,
Для запуска в 32-разрядном режиме с помощью
adb install —abi armeabi-v7a <path to apk>
Для запуска в режиме 64-разрядного режима с использованием
adb install —abi arm64-v8a <path to apk>
Ответ №1
-
Если ваш apk написан в чистом java (без jni), на 64-битной-первичной/32-битной вторичной ОС Android, ваше приложение будет всегда работать в режиме 64 бит по умолчанию, но если вы хотите ваше приложение запускается в 32-битном режиме, вы можете создать файл фиктивного *.so и поместить его под <your apk name>/libs/armeabi/, чтобы заставить AndroidRuntime создать 32-битную виртуальную машину для вашего приложения.
-
Если какая-либо функция вашего apk записана в jni (там есть файл *.so в папке <your apk name>/libs/), вы можете использовать следующую команду для ее запуска в 64- или 32-битной виртуальной машине:
- Для запуска в 32-битном режиме, поскольку будут установлены только 32-разрядные встроенные библиотеки
adb shell install —abi armeabi-v7a <path to your apk>
- Для запуска в 64-битном режиме, поскольку будут установлены только 64-разрядные встроенные библиотеки
adb shell install —abi arm64-v8a <path to your apk>
Ответ №2
https://source.android.com/source/64-bit-builds.html
Попробуйте это у вас Android.mk
LOCAL_MULTILIB := 32 // or 64