gpt4 book ai didi

android - 64 位 android,32 位应用程序与 32 位 native 库

转载 作者:太空宇宙 更新时间:2023-11-03 11:12:30 24 4
gpt4 key购买 nike

假设我们有 64 位硬件,64 位 linux 内核和 64 位 android。
所以 Zygote 将作为 64 位进程运行,并带有自己的 DVM 实例。

现在假设有一个第三方应用程序包含一个在运行时使用 system.loadlibrary 调用加载的 32 位 native 库。

我认为当我们尝试运行这个应用程序时,zygote 将能够启动该进程并且 DVM 将能够解释 classes.dex 文件,即使 apk 是为 32 位机器构建的。但是当应用程序尝试加载 32 位 native 库时会失败,因为在设备上 bionic libc 和其他库都是 64 位的。

这种理解是否正确?

最佳答案

据我所知,如果操作系统支持许多 32 位库(Java Native Interface 32 bit dll on 64 bit system),32 位 native 库将在 64 位操作系统上成功运行,而在 Android 系统中,操作系统架构是 32 位限制(https://android.stackexchange.com/questions/36291/is-android-a-32-bit-or-64-bit-os),所以您需要编译 32 位 native 库。

总而言之,32 位如果运行在 64 位操作系统上,则需要 32 位库。

关于android - 64 位 android,32 位应用程序与 32 位 native 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22532986/

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