gpt4 book ai didi

安卓 JNI : 32-bit compatability with 64-bit devices?

转载 作者:行者123 更新时间:2023-11-29 20:15:52 32 4
gpt4 key购买 nike

我有一些使用 native 组件的库,这些库是使用 NDK 为 32 位 Arm 架构构建的。

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

那么 32 位库会在 64 位处理器上运行吗?或者我必须重新构建它们?

**

编辑

**在我的场景中,我有以下内容:

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

2- 该项目有两个 native 库,一个支持 64 位和 32 位,另一个仅支持 32 位。

有没有一种方法可以让应用程序在 64 位设备上运行而无需暂时发布到 Google Play?我可以删除 64 位库以强制包管理器加载 32 位库吗?

最佳答案

32 位库在 64 位处理器上工作得很好。

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

因此,如果您拥有其中一个 native 库的 64 位版本,只需删除它并仅发布 32 位版本,直到您拥有所有这些库的 64 位版本。

关于安卓 JNI : 32-bit compatability with 64-bit devices?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33919220/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com