今年早些时候,谷歌发布了与ARM兼容的新的安卓11 x86系统镜像。
根据此article中所写的内容,这些新的兼容ARM的Android11系统镜像允许整个系统在本地运行x86,而需要ARM二进制文件的应用程序将在进程上下文中专门转换为ARM,这自然会比使用全ARM系统镜像带来更好的性能。
我的问题是--我想从x86的源代码中编译我的定制的Android11。有没有一种方法可以构建一个镜像,利用这些ABIs在基于ARM的应用程序和类似于Google发布的系统镜像的操作系统之间进行中介?
发布于 2021-03-01 19:34:52
这在之前的版本中也是通过使用英特尔的libhoudini实现的,这也是arm Native的应用程序可以在x86设备上运行的原因。Android-11仿真器具有Arm提供的仿真(Arm到x-86)库。任何这样的解决方案都可以通过名为NativeBridge的安卓运行时界面来挂接。来自应用程序本机库的所有android本机调用将被路由到在仿真环境中加载和运行的arm库。
例如,NativeBridge将加载用于创建仿真环境的主仿真库,并且将有用于安卓的相关arm库伴随主仿真库。因此,任何来自安卓应用的本地Arm库的调用都将转到主仿真库,后者将加载相关的安卓Arm本地库,仿真(arm到x86)并执行本地安卓代码。
这肯定不是你问题的完整答案。
https://stackoverflow.com/questions/65121816
复制相似问题