我有一些使用本机组件的库,这些库是用NDK为32位Arm架构构建的。
现在我们在现代设备上有了64位处理器,所以我想知道库是否能工作。在我的情况下,我没有本机库的源代码文件,只有SO文件,我不能为64位构建它们。
那么32位库会在64位处理器上运行吗?还是我得重新建造它们?
**
编辑
**在我的设想中,我有以下几点:
我手动分发APK,还没有发布到Google Play。
这个项目有两个本地库,一个支持64 &32位,另一个只支持32位。
有没有办法让应用程序在64位设备上工作,而不必发布到Google上呢?我可以删除64位库来强制包管理器加载32位的库吗?
发布于 2015-11-25 14:45:43
32位库将在64位处理器上正常工作。
只要以正确/正式的方式安装库(即,不是手动下载或从APK中的某些非标准部件中提取,而是正确地打包在APK中),包管理器就会检测到流程使用32位库,进程应该以32位模式启动。如果没有,进程将以64位模式启动,以后将无法加载32位库。(如果您的APK将包含一些.so文件,但不是全部,在64位模式下,它只会安装它们,进程将在64位模式下启动。因此,除非所有.so文件都可用于特定的ABI,否则不要包含其中任何一个)。
因此,如果您有一个本机库的64位版本,只需删除该版本并只发布32位版本,直到您拥有所有这些库的64位版本为止。
https://stackoverflow.com/questions/33919220
复制相似问题