甲单个 .apk
文件可以包含NDK二进制靶向不同的体系结构(例如,X86,X86-64等)。我想,在给定设备上安装时,会根据设备架构自动选择相应的二进制文件。但是,因为例如 64 位设备通常与 32 位软件兼容,所以我想确保安装了相应的二进制文件。
编辑: - 我的意思是用于测试目的的本地安装。- 我知道你可以有不同.apk
的,每个都针对一种特定的架构。假设有一个包含所有架构目标。
您可以在adb install
使用该--abi
选项安装应用程序时显式指定 ABI 。
对于 Aarch32:
adb install --abi armeabi-v7a <YOUR_APK_FILE>.apk
对于 Aarch64:
adb install --abi arm64-v8a <YOUR_APK_FILE>.apk
参考:https : //developer.android.com/distribute/best-practices/develop/64-bit#test_your_app_on_64-bit_hardware
这可能被视为黑客,但它对我有用。
如果您已经安装了.apk
并且不想重新安装它,您可以检查感兴趣的.so
文件中的.apk
文件名(fe 使用 mc)。在我的情况下,它们位于/lib/armeabi-v7a
和下/lib/arm64-v8a
。然后你可以在设备上运行你的应用程序(在我的例子中是 aarch64 上的 Android Nougat)并执行:
cat /proc/<PID_OF_YOUR_RUNNING_APP>/maps | grep <NAME_OF_SO_FILE>
对于使用--abi armeabi-v7a
选项安装的 .apk ,路径名是:
/data/app/<APP_NAME>/lib/arm/<NAME_OF_SO_FILE>
带--abi arm64-v8a
选项:
/data/app/<APP_NAME>/lib/arm64/<NAME_OF_SO_FILE>
proc 文件系统的参考:http : //man7.org/linux/man-pages/man5/proc.5.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句