如何找出给定应用程序安装中使用了给定 .apk 的哪个架构版本?

空的

单个 .apk文件可以包含NDK二进制靶向不同的体系结构(例如,X86,X86-64等)。我想,在给定设备上安装时,会根据设备架构自动选择相应的二进制文件。但是,因为例如 64 位设备通常与 32 位软件兼容,所以我想确保安装了相应的二进制文件。

编辑: - 我的意思是用于测试目的的本地安装。- 我知道你可以有不同.apk的,每个都针对一种特定的架构。假设有一个包含所有架构目标。

最大诺比

在安装过程中指定ABI:

您可以在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

检查正在运行的进程的 ABI:

这可能被视为黑客,但它对我有用。

如果您已经安装了.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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何找出给定exe / dll属于哪个安装程序包

来自分类Dev

如何找出给定/已安装的Boost标头的版本?

来自分类Dev

使用 gradlew assembleRelease 命令生成签名 APK 时将使用哪个签名版本?

来自分类Dev

我如何找出哪个应用程序禁用了睡眠?

来自分类Dev

如何找出哪个应用程序使用了网络摄像头

来自分类Dev

eclipse使用了哪个构建系统来构建android apk?

来自分类Dev

如何检查给定视图属于哪个应用程序?

来自分类Dev

未安装未签名版本 APK

来自分类Dev

安装APK软件包时如何指定架构

来自分类Dev

如何在 Flutter 中构建 apk 创建旧版本的应用程序

来自分类Dev

Flutter 中使用哪个 Keystore 构建发布版 APK?

来自分类Dev

使用不同的密钥库上传新的APK(版本2)作为对.apk(版本1)的更新

来自分类Dev

如何为两种架构构建APK

来自分类Dev

如何为两种架构构建APK

来自分类Dev

在开发过程中共享应用apk。它发送当前应用程序的早期版本

来自分类Dev

如何找出正在使用哪个(版本)功能?

来自分类Dev

RoboGuice使用哪个版本

来自分类Dev

使用哪个版本的Magento

来自分类Dev

从原生版本中区分使用Cordova / Phonegap的apk版本

来自分类Dev

eclipse使用哪个构建系统来构建android apk?

来自分类Dev

Android应用程序是否可能支持具有不同apk的不同版本?

来自分类Dev

构建版本apk后,我的flutter应用程序无法从http获取数据

来自分类Dev

从.apk到.aab的本机版本发布做出反应,如何将应用程序发送给客户端?

来自分类Dev

当使用minifyenabled true构建签名的apk时,如何限制应用程序崩溃,意味着应用了progurad?

来自分类Dev

APK Openssl版本

来自分类Dev

升级APK minSDK版本

来自分类Dev

需要APK版本的帮助

来自分类Dev

如何使用Proguard获取发布版本的APK文件

来自分类Dev

如何找到针对哪个libc版本的应用程序链接?

Related 相关文章

  1. 1

    如何找出给定exe / dll属于哪个安装程序包

  2. 2

    如何找出给定/已安装的Boost标头的版本?

  3. 3

    使用 gradlew assembleRelease 命令生成签名 APK 时将使用哪个签名版本?

  4. 4

    我如何找出哪个应用程序禁用了睡眠?

  5. 5

    如何找出哪个应用程序使用了网络摄像头

  6. 6

    eclipse使用了哪个构建系统来构建android apk?

  7. 7

    如何检查给定视图属于哪个应用程序?

  8. 8

    未安装未签名版本 APK

  9. 9

    安装APK软件包时如何指定架构

  10. 10

    如何在 Flutter 中构建 apk 创建旧版本的应用程序

  11. 11

    Flutter 中使用哪个 Keystore 构建发布版 APK?

  12. 12

    使用不同的密钥库上传新的APK(版本2)作为对.apk(版本1)的更新

  13. 13

    如何为两种架构构建APK

  14. 14

    如何为两种架构构建APK

  15. 15

    在开发过程中共享应用apk。它发送当前应用程序的早期版本

  16. 16

    如何找出正在使用哪个(版本)功能?

  17. 17

    RoboGuice使用哪个版本

  18. 18

    使用哪个版本的Magento

  19. 19

    从原生版本中区分使用Cordova / Phonegap的apk版本

  20. 20

    eclipse使用哪个构建系统来构建android apk?

  21. 21

    Android应用程序是否可能支持具有不同apk的不同版本?

  22. 22

    构建版本apk后,我的flutter应用程序无法从http获取数据

  23. 23

    从.apk到.aab的本机版本发布做出反应,如何将应用程序发送给客户端?

  24. 24

    当使用minifyenabled true构建签名的apk时,如何限制应用程序崩溃,意味着应用了progurad?

  25. 25

    APK Openssl版本

  26. 26

    升级APK minSDK版本

  27. 27

    需要APK版本的帮助

  28. 28

    如何使用Proguard获取发布版本的APK文件

  29. 29

    如何找到针对哪个libc版本的应用程序链接?

热门标签

归档