假设我们有 64 位硬件,带有 64 位 linux 内核和 64 位 android。
因此 Zygote 将作为具有自己的 DVM 实例的 64 位进程运行。
现在假设有一个第三方应用程序包含一个 32 位本机库,该库在运行时使用system.loadlibrary
调用加载。
我认为当我们尝试运行这个应用程序时,zygote 将能够启动进程并且 DVM 将能够解释 classes.dex 文件,即使 apk 是为 32 位机器构建的。但是当应用程序尝试加载 32 位本机库时会发生故障,因为设备上的仿生 libc 和其他库都是 64 位的。
这种理解正确吗?