我有一些使用本机组件的库,这些库是使用 NDK 为 32 位 Arm 架构构建的。
现在我们在现代设备上拥有 64 位处理器,所以我想知道这些库是否可以工作。在我的情况下,我没有本机库的源代码文件,只有 SO 文件,我无法为 64 位构建它们。
那么 32 位库可以在 64 位处理器上运行吗?或者我必须重新构建它们?
**
EDIT
**
在我的场景中,我有以下内容:
1-我手动分发 APK,尚未发布到 Google Play。
2- 该项目有两个本机库,一个支持 64 和 32 位,另一个仅支持 32 位。
有没有办法让应用程序在 64 位设备上运行而无需暂时发布到 Google Play?我可以删除 64 位库以强制包管理器加载 32 位库吗?
32 位库可以在 64 位处理器上正常工作。
只要以正确/官方的方式安装库(即不是手动下载或从 APK 中的某些非标准部分提取,而是正确打包在 APK 中),包管理器就会检测到该进程使用 32 位库,并且该进程应以 32 位模式启动。如果没有,进程将以 64 位模式启动,稍后将无法加载 32 位库。 (如果您的 APK 在 64 位模式下包含一些 .so 文件,但不是全部,它只会安装它们,并且该进程将以 64 位模式启动。因此,除非所有 .so 文件都可用于特定 ABI,不包括其中任何一个)。
因此,如果您有某个本机库的 64 位版本,只需将其删除并仅发布 32 位版本,直到您拥有所有这些库的 64 位版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)