0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Android模拟器执行ARM应用

汽车玩家 来源:互联网科技密 作者:互联网科技密 2020-04-13 09:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着 Android 11 开发者预览版的发布 ,我们同时也推出了 Android 11 系统映像。新的系统映像在执行 ARM 二进制文件方面取得了显著的性能提升。此前,依赖 ARM 库且无法构建 x86 版本应用的开发者只能使用完整的 ARM 模拟系统映像 (其速度远低于在 x86 设备上运行 x86 系统映像) 或者实体机。Android 11 系统映像能够在不影响整个系统的前提下,直接将 ARM 指令转换成 x86 指令。开发者无需搭建高负载的 ARM 环境即可执行 ARM 二进制文件并进行测试。

全新的 Android 11 (Google API) x86 系统映像支持 ARM 应用二进制接口 (ABI),较旧版本的 Android Oreo 系统映像并不提供该支持

Android 11 系统映像 https://developer.android.google.cn/studio/releases/emulator#support_for_arm_binaries_on_android_9_and_11_system_images

技术细节

我们可能需要结合具体情景来说明这项新技术的重要性,尤其是如果您只使用 Kotlin 或 Java 编程语言来构建应用的话。Kotlin 和 Java 编程语言均在 ART (Android 运行时) 上执行,但 C++ 则与它们不同,Android 应用中的所有 C++ 指令会直接编译为机器指令,也就是说,目标设备的平台架构决定着 C++ 的编译方法。移动手机一般搭载 ARM 处理器,因此,您为应用添加的许多 C++ 依赖项 (例如摄像头条形码扫描库) 仅与 ARM 处理器兼容。在这种情形下,如果您使用基于 x86 处理器的设备进行开发工作,便会遇到应用无法运行的问题。

过去,开发者需要通过模拟器镜系统映像搭建一个完整的 ARM 环境,才能绕过这个限制并在 x86 机器上执行 ARM 应用。但是,把整个系统的 ARM 指令都转换成 x86 指令会造成过高的性能负荷,因此与基于 x86 的系统映像相比,完整的 ARM 系统映像在 x86 宿主机上的运行速度会慢很多,而且它还无法使用 x86 处理器提供的硬件加速和 CPU 虚拟化技术。

全新的Android 11 系统映像与 ARM 兼容,它不仅允许整个系统在本机运行 x86 指令,而且还可以照常使用虚拟化技术。当应用的某个进程需要使用 ARM 二进制代码时,代码仅会在该进程内被转换成 x86 指令,其余进程将继续在 x86 环境内执行,包括 Android 运行时 (ART) 以及其它性能关键库,例如 libGLES和 libvulkan。除此以外,指令转换器也不会执行低层的硬件特定库,从而避免高成本的内存访问检测和相应的性能影响。在 ARM 公司的协作下,新的模拟器系统映像在本地和持续集成框架内均可运行。

Android 11 系统映像https://developer.android.google.cn/studio/releases/emulator#support_for_arm_binaries_on_android_9_and_11_system_images

libGLEShttps://developer.android.google.cn/ndk/guides/stable_apis#graphics

libvulkanhttps://developer.android.google.cn/ndk/guides/graphics/design-notes

下一步

如果您之前由于缺乏高性能的 ARM 支持,去选择了实体机而非模拟器,不妨尝试一下 Android 11 系统映像。此映像文件目前已随 Android 11 开发者预览版一同开放下载。您可通过 SDK Manager 或者 Android Virtual Device Manager将最新版本的系统映像下载至 Android Studio。

使用 Android Virtual Device Manager 创建一个运行 Android 11 的 AVD

Android 11 系统映像https://developer.android.google.cn/studio/releases/emulator#support_for_arm_binaries_on_android_9_and_11_system_images

Android Virtual Device Managerhttps://developer.android.google.cn/studio/run/managing-avds#createavd

一旦应用在模拟器中成功运行后,请考虑适配 Chrome OS。Chrome OS 同样也支持在 x86 笔记本上执行 ARM 版本的 Android 应用。通过构建适用于 Chrome OS 的应用,您可以挖掘大屏幕设备生态圈所蕴含的海量机遇,让全球更多的用户认识您的应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9586

    浏览量

    393510
  • Android
    +关注

    关注

    12

    文章

    4035

    浏览量

    134452
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    gps北斗导航信号发生模拟多卫星频点# 模拟器 # 信号模拟器

    模拟器
    jf_27876553
    发布于 :2026年04月07日 11:09:40

    卫星导航模拟器厂家 北斗模拟器 北斗信号模拟

    模拟器
    jf_47371611
    发布于 :2026年04月02日 16:14:06

    卫星定位模拟器的应用

    模拟器
    西安同步电子科技有限公司
    发布于 :2025年12月03日 17:18:08

    gps信号发模拟器 卫星定位模拟器 国产gnss模拟器#电工 #单片机 #

    模拟器
    jf_47371611
    发布于 :2025年11月10日 17:57:43

    gps信号发射 卫星导航模拟器 gnss卫星模拟器

    模拟器
    jf_47371611
    发布于 :2025年11月10日 17:53:23

    一文读懂稳态太阳光模拟器

    在光伏产业、材料科学、航空航天等领域,模拟自然太阳光的光照环境是开展测试的核心需求。稳态太阳光模拟器作为实现这一需求的关键设备,凭借其能持续稳定输出符合太阳光谱特性光照的能力,成为科研与生产
    的头像 发表于 11-05 18:03 1824次阅读
    一文读懂稳态太阳光<b class='flag-5'>模拟器</b>

    准直型太阳光模拟器的原理

    准直型太阳光模拟器模拟地球外层空间太阳光高准直特性的关键设备。其核心功能是模拟地球外层空间太阳光的两个关键特性:光谱与准直性。与普通模拟器不同,它追求极高的光束平行度,其发散角(准直
    的头像 发表于 09-19 18:04 1068次阅读
    准直型太阳光<b class='flag-5'>模拟器</b>的原理

    氙灯太阳模拟器与LED太阳模拟器的对比研究

    本文主要比较了基于氙灯和基于LED的太阳能模拟器在光谱匹配、时间稳定性和光照均匀性等方面的性能。通过测量多种太阳能电池的电流-电压(I-V)响应和光谱响应(SR),评估了两种模拟器模拟太阳光
    的头像 发表于 07-24 11:31 1056次阅读
    氙灯太阳<b class='flag-5'>模拟器</b>与LED太阳<b class='flag-5'>模拟器</b>的对比研究

    DevEcoStudio 中使用模拟器时如何过滤日志

    DevEcoStudio 中使用模拟器时如何过滤日志 #鸿蒙核心技术#鸿蒙开发者工具##DevEcoStudio 在 Hilog > Settings > Filter
    发表于 05-23 10:46