Android手机64位APP兼容

为什么

  • 2022 armv9芯片新机出货,不兼容32位,出现卡顿闪退等问题
  • 64位性能更好
  • 手机硬件升级,存储更大,应用包体积不敏感

应用市场的政策

Google Play声明

2019 年 8 月 1 日起,您在 Google Play 上发布的应用必须支持64 位

2021年 8 月 1 日, 无法搜索到32位,无法更新 升级版本仍是32位的版本

Android手机64位APP兼容

小米/OPPO/vivo/应用宝/百度手机助手

为更好地提升APP性能体验,降低APP功耗影响,小米应用商店与OPPO应用商店、vivo应用商店共同推进国内安卓生态对64位架构的升级支持。

行业适配节奏如下:

  • 2021年12月底:现有和新发布的应用/游戏,需上传包含64位包体的APK包(支持双包在架,和64位兼容32位的两个形式,不再接收仅支持32位的APK包)
  • 2022年8月底:硬件支持64位的系统,将仅接收含64位版本的APK包
  • 2023年底:硬件将仅支持64位APK,32位应用无法在终端上运行

华为

根据华为开发者联盟的消息,华为日前发布通知,要求开发者加快淘汰32位应用,具体分为两个阶段,详细如下:

1、自2022年2月1日起,在华为应用市场新上架/升级的应用及游戏,必须包含64位版,华为应用市场不再接收仅包含32位版的应用;

2、自2022年9月1日起,华为应用市场不再接收包含32位版的应用(即只能提交64位版)。

如何适配

module build.gradle 指定abi

统一包

  ndk {
       abiFilters 'armeabi-v7a', 'arm64-v8a'
   }

多个包

//限定universalApk 包含apk
ndk {
  abiFilters 'armeabi-v7a', 'x86' , 'arm64-v8a'
}

splits{
        // Configures multiple APKs based on ABI.
        abi {
            // Enables building multiple APKs per ABI.
            def isReleaseBuild = false
            gradle.startParameter.taskNames.find {
                // Enable split for release builds in different build flavors
                // (assemblePaidRelease, assembleFreeRelease, etc.).
                if (it ==~ /:app:assemble.*Release/) {
                    isReleaseBuild = true
                    return true // break
                }

                return false // continue
            }
            enable isReleaseBuild

            // By default all ABIs are included, so use reset() and include to specify that we only
            // want APKs for x86, armeabi-v7a, and mips.
            reset()

            // Specifies a list of ABIs that Gradle should create APKs for.
            include "armeabi-v7a", "arm64-v8a"

            // Specifies that we want to also generate a universal APK that includes all ABIs.
            universalApk true
        }
    }
    

参考

google play声明64位

技术支持 | 安卓App升级64位架构啦

淘汰32位 华为要求开发者明年全面转向64位应用

armv9

小米高管谈第三方App卡顿闪退:原因曝光

上一篇:Java--多线程


下一篇:多线程之time_waiting