Android JNI:32位与64位设备的兼容性?

 2023-01-19    398  

问题描述

我有一些使用本机组件的库,这些库是用NDK构建的,用于32位ARM架构.

现在,我们在现代设备上有64位处理器,所以我想知道库是否会工作.在我的情况下,我没有本机库的源代码文件,只有SO文件,我无法以64位构建它们.

Android JNI:32位与64位设备的兼容性?

那么,32位库会在64位处理器上运行吗?还是我必须重建它们?

**

编辑

**
在我的情况下,我有以下内容:

1-我手动分发APK,尚未发布到Google Play.

2-该项目有两个本地库,一个具有64和32位支持,另一个仅32位.

有没有一种方法可以使应用程序在64位设备上工作,而无需现在就发布Google Play?我可以删除64位液体以强制执行包装马槽以加载32位吗?

推荐答案

32位库将在64位处理器上正常工作.

只要库以正确的/官方方式安装(即,未从APK中的某些非标准部分手动下载或从APK中正确打包),包装管理器将检测到该过程使用32位,库,该过程应以32位模式启动.如果没有,该过程将以64位模式启动,以后将无法加载32位库. (如果您的APK包含一些.SO文件,但不是全部,以64位模式,它将仅安装它们,并且该过程将以64位模式启动.因此,除非所有.SO文件可用于特定的ABI,否则不要包括其中任何一个).

因此,如果您有一个本机库之一的64位版本,只需删除该版本并仅运送32位版本,直到所有它们的64位版本.

以上所述是小编给大家介绍的Android JNI:32位与64位设备的兼容性?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/25858.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。