在具有 64 位 ARM 的 Android 设备上,将有许多库的两个变体,32 位和 64 位,并且它们的性能可能不同。我想知道是否有办法强制应用程序使用 32 位或 64 位库。
原文由 kanna 发布,翻译遵循 CC BY-SA 4.0 许可协议
在具有 64 位 ARM 的 Android 设备上,将有许多库的两个变体,32 位和 64 位,并且它们的性能可能不同。我想知道是否有办法强制应用程序使用 32 位或 64 位库。
原文由 kanna 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您的 apk 是用纯 java 编写的(没有 jni),在 64 位主/32 位辅助 Android 操作系统上,您的应用程序将默认始终以 64 位模式运行,但如果您希望您的应用程序以 32 位模式运行位模式,您可以创建一个虚拟 *.so
文件并将其放在 <your apk name>/libs/armeabi/
下,以强制 AndroidRuntime 为您的应用创建 32 位 VM
如果你的apk的某些功能是用jni写的(在 *.so
文件夹中有 <your apk name>/libs/
文件),你可以使用下面的命令让它在64位或32位VM中运行:
adb shell install --abi armeabi-v7a <path to your apk>
adb shell install --abi arm64-v8a <path to your apk>
原文由 tonykwok 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答938 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
1 回答817 阅读✓ 已解决
2 回答929 阅读
2 回答868 阅读
1 回答803 阅读
1 回答854 阅读
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>