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

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

3天内不再提示

Arm 64位迁移

安芯教育科技 来源:安芯教育科技 作者:Nathan 2020-11-13 16:37 次阅读

2020 年 10 月,Arm 宣布,从 2022 IP 开始,未来的所有 Cortex-A”大核”都将仅支持 64 位代码。Oppo 和小米这两家中国领先的移动终端制造商以及领先的游戏引擎 Unity(中国)纷纷对 Arm 宣布向 64 位迁移和为之付出的努力表示支持。

Arm 认为,迁移到 64 位是中国的开发人员都应迈出的积极一步。如果想要打造能满足消费者需求的全新、更复杂、安全可靠、身临其境的体验,他们的app必然需要迁移到 64 位。另外,预计到 2023 年将出现仅支持 64 位的移动设备,届时他们的app还需要与这些设备相兼容。

64 位不仅能带来许多好处(如上一篇极术社区的博客中所述),例如优化性能、提高安全性、改善功效和降低成本,而且将app迁移到 64 位的过程十分简单,并不具备太多挑战。当然,下文也列出了在迁移到 64 位的过程中,中国开发人员需要考虑的一些方面以及对应采取的措施。请注意,下列步骤都是建立在开发人员使用 Google Android Studio 进行app开发的假设基础上。

查看app代码

全部由 Java 编程语言或 Kotlin 编写而成的Android 应用程序(包括所有库或 SDK)都将自动能在 64 位移动设备上运行。对于那些向专属/第三方本地库发出 Java 本地接口 (JNI) 调用(以进行用户行为分析、加密、云服务等)的 Java 应用程序,这些库也需要迁移到 64 位,才能消除所有 32 位依赖项。而且,使用 Arm NEON 指令编写的大多数代码无需更改即可编译成 64 位。但是,如果app使用的是本地库,则其必须是 64 位版本,这可能需要额外的开发工作。

查验本机代码

如果开发人员不确定他们的app是否使用本机代码,可以检查以下三项:


• app是否使用了任何 C/C++(本机)代码
• app是否与任何第三方本地库相关联
• app是否由某个使用本地库的第三方app生成器构建而成。

使用 APK 查验本地库

根据应用二进制接口 (ABI),本地库存储在不同文件夹内。通常情况下,为 32 位和 64 位架构构建的 APK 或数据包将拥有分别针对两种 ABI 的文件夹,每个文件夹内包含一组对应的本地库。如果不支持 64 位,开发人员可能只会看到 32 位 ABI 文件夹,却没有 64 位文件夹。

使用工具查验本地库

开发人员还可以使用不同的工具来查验app中的本地库。APK Analyzer 是 Android Studio 中一款可用的 Android 工具,可帮助开发人员评估某个已构建的 APK 的不同方面。开发人员还可以通过解压缩 APK 来查验本地库,因为这些文件的结构都类似于压缩文件,所以也可以采取类似的提取方式。

从 32 位移植到 64 位

如果应用代码已经在 iOS 上顺利运行,则无需再做任何额外工作。但是,如果这是应用代码初次构建用于 64 位系统,则需要解决的主要问题是指针不再适合于 int 之类的 32 位整型。因此,开发人员需要对以 int、unsigned 或 uint32_t 类型存储指针的代码进行更新。

减轻 64 位带来的规模增加

为应用程式添加 64 位架构的支持可能导致 APK 大小随之增加。Android App Bundle 功能可以最大限度地降低同一 APK 中同时包含 32 位和 64 位代码所带来的规模影响。在大多数情况下,将应用切换为使用 Android App Bundles 实际上有助于改善 APK 的大小,甚至小于 32 位时的应用大小。

游戏开发人员

正如我们在上一篇极术社区的博客中提到的,三个最常用的游戏引擎 Unreal、Cocos2d-x 和 Unity 目前都支持 64 位。事实上,这些领先的游戏引擎都支持 64 位对于游戏开发人员而言是一大利好消息,因为要为第三方游戏引擎迁移应用是一个前置时间非常长的繁杂过程。

测试应用

64 位版本的应用准备就绪后,应能提供与 32 位版本相同的质量和功能集。但是,这只有通过app测试才能保证。测试需要在支持 64 位的设备上完成。幸运的是,如今中国国内市场上的绝大多数智能手机都已兼容 64 位。

发布app

app准备就绪后,开发人员就可以照常发布。与现有的流程一样,我们建议还是继续遵循app部署的最佳实践。Android 建议利用闭环测试轨道,先向有限数量的用户推行,以确保app质量一致。

提供更多信息和支持

根据上述信息,中国开发人员向 64 位迁移的过程应该相对较轻松,干扰因素也最少。只需花费少量成本或时间完成迁移后,中国开发人员将能享受到多种多样的巨大好处。有关更多详细信息,我们建议遵循 Android 开发最佳实践或阅读Arm 64 位白皮书。

Arm 正在与合作伙伴展开密切合作,了解哪些生态系统、技术或商业方面的问题会妨碍app向 64 位迁移。我们向中国开发人员提出的建议非常简单——立即着手,开始迁移到 64 位。现在就开始构建 64 位版本的应用,在主要开发、优化和测试平台中改用 64 位,对本机和 Java 应用程序进行仔细检查,尽快升级所有 32 位库或引擎。

责任编辑:xj

原文标题:Arm 64位迁移知识汇总

文章出处:【微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

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

    关注

    134

    文章

    9036

    浏览量

    366649
  • 代码
    +关注

    关注

    30

    文章

    4736

    浏览量

    68297
  • apk
    apk
    +关注

    关注

    0

    文章

    23

    浏览量

    4894

原文标题:Arm 64位迁移知识汇总

文章出处:【微信号:Ithingedu,微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    从TMS320C64x迁移到TMS320C64x+

    电子发烧友网站提供《从TMS320C64x迁移到TMS320C64x+.pdf》资料免费下载
    发表于 10-16 10:26 0次下载
    从TMS320C<b class='flag-5'>64</b>x<b class='flag-5'>迁移</b>到TMS320C<b class='flag-5'>64</b>x+

    从EDMA v2.0迁移到EDMA v3.0 TMS320C64X DSP

    电子发烧友网站提供《从EDMA v2.0迁移到EDMA v3.0 TMS320C64X DSP.pdf》资料免费下载
    发表于 10-15 10:12 0次下载
    从EDMA v2.0<b class='flag-5'>迁移</b>到EDMA v3.0 TMS320C<b class='flag-5'>64</b>X DSP

    从STM32到基于Arm的MSPM0的迁移指南

    电子发烧友网站提供《从STM32到基于Arm的MSPM0的迁移指南.pdf》资料免费下载
    发表于 09-07 11:31 0次下载
    从STM32到基于<b class='flag-5'>Arm</b>的MSPM0的<b class='flag-5'>迁移</b>指南

    迁移到基于Arm STM32的MSPMO指南

    电子发烧友网站提供《从迁移到基于Arm STM32的MSPMO指南.pdf》资料免费下载
    发表于 09-07 11:17 0次下载
    从<b class='flag-5'>迁移</b>到基于<b class='flag-5'>Arm</b> STM32的MSPMO指南

    将软件从8(字节)可寻址CPU迁移至C28x CPU

    电子发烧友网站提供《将软件从8(字节)可寻址CPU迁移至C28x CPU.pdf》资料免费下载
    发表于 09-06 10:42 0次下载
    将软件从8<b class='flag-5'>位</b>(字节)可寻址CPU<b class='flag-5'>迁移</b>至C28x CPU

    RV6464地址指令

    新指令。从 x86-32 到 x86-64 平均指令长度增长了。 又过了十年,ARM 也遇到了同样的地址问题。但是他们没有像 x86-64 那样,把旧的 ISA 扩展到支持 64
    发表于 09-04 15:15

    从Renesas RL78到基于Arm的MSPM0的迁移指南

    电子发烧友网站提供《从Renesas RL78到基于Arm的MSPM0的迁移指南.pdf》资料免费下载
    发表于 08-23 09:28 0次下载
    从Renesas RL78到基于<b class='flag-5'>Arm</b>的MSPM0的<b class='flag-5'>迁移</b>指南

    MPU进入64时代,Microchip推出PIC64系列产品

    ,MCU和MPU之间的界限也越来越小,以适应更多新的应用。Microchip作为嵌入式解决方案的领导者,近日推出了全新的PIC64GX MPU,这也是Microchip推出的首款64MPU产品
    的头像 发表于 07-24 00:12 3506次阅读

    Pine64 发布 Oz64 单板计算机:Arm、RISC-V任你切换

    Pine64公司最新推出Oz64单板计算机(SBC),其最大的亮点采用SopghoSG2000双架构芯片,可切换支持Arm和RISC-V。IT之家附上SopghoSG2000双架构芯片相关信息如下
    的头像 发表于 06-30 08:37 251次阅读
    Pine<b class='flag-5'>64</b> 发布 Oz<b class='flag-5'>64</b> 单板计算机:<b class='flag-5'>Arm</b>、RISC-V任你切换

    请问STM8能处理64的数据吗?

    IAR for stm8 中给64数据变量赋值时出现integer constant is too large的错误。 问下STM8能处理64的数据吗?
    发表于 05-14 08:13

    32基于ARM核心的带64或128K字节闪存的微控制器数据手册

    电子发烧友网站提供《32基于ARM核心的带64或128K字节闪存的微控制器数据手册.pdf》资料免费下载
    发表于 03-21 09:07 1次下载

    ARM®Cortex®-M23 32MCU数据表

    电子发烧友网站提供《ARM®Cortex®-M23 32MCU数据表.pdf》资料免费下载
    发表于 02-22 14:32 0次下载
    <b class='flag-5'>ARM</b>®Cortex®-M23 32<b class='flag-5'>位</b>MCU数据表

    入门级64ARM®CORTEX®-A55 MPU数据手册

    电子发烧友网站提供《入门级64ARM®CORTEX®-A55 MPU数据手册.pdf》资料免费下载
    发表于 02-19 10:59 1次下载
    入门级<b class='flag-5'>64</b><b class='flag-5'>位</b><b class='flag-5'>ARM</b>®CORTEX®-A55 MPU数据手册

    鸿蒙OS 跨设备迁移

    跨设备迁移(下文简称“迁移”)支持将 Page 在同一用户的不同设备间迁移,以便支持用户无缝切换的诉求。以 Page 从设备 A 迁移到设备 B 为例,
    的头像 发表于 01-31 15:47 1096次阅读

    关于32/64Altium Designer与Access数据库兼容的问题

    Database Libraries(Dblib)是一个功能强大的元器件管理方案,但对于3264版本的Altium Designer在使用Microsoft Access作为后端数据库时是有区别的。
    的头像 发表于 01-24 14:40 1901次阅读