Home

Awesome

Android 版本适配全套指南

适配流程

android {

    compileSdkVersion 34
    defaultConfig {
        ......
        targetSdkVersion 34
    }
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
    ......
} else {
    ......
}
if (context.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
    ......
} else {
    ......
}
Android 版本API 等级版本代号市场占有率发布时间
Android 1434UPSIDE_DOWN_CAKE暂无数据2023 年 10 月 10 日
Android 1333TIRAMISU30.33%2022 年 8 月 16 日
Android 12L32S_V2暂无数据2022 年 3 月 9 日
Android 1231S20.58%2021 年 10 月 4 日
Android 1130R19.98%2020 年 9 月 9 日
Android 1029Q9.27%2019 年 9 月 3 日
Android 9.028P8.61%2018 年 8 月 7 日
Android 8.127O_MR12.78%2017 年 12 月 5 日
Android 8.026O3.21%2017 年 8 月 22 日
Android 7.125N_MR10.61%2016 年 12 月 5 日
Android 7.024N1.88%2016 年 8 月 22 日
Android 6.023M1.64%2015 年 9 月 29 日
Android 5.122LOLLIPOP_MR10.98%2015 年 3 月 10 日
Android 5.021LOLLIPOP0.53%2014 年 10 月 15 日
Android 4.419KITKAT0.3%2013 年 10 月 31 日

Google Play 应用商店政策

名词定义

新应用尚未在 Play 商店中发布的应用(例如,全新的应用)
应用更新已在 Play 商店中发布的应用的新版本
现有应用没有获得更新的已发布应用

何时必须将 Google Play 应用的目标 API 级别设为该级别?

Android 操作系统版本新应用应用更新现有应用
Android 13(API 级别 33)2023 年 8 月 1 日2023 年 11 月 1 日2024 年 11 月 1 日
Android 12(API 级别 31)2022 年 8 月 1 日2022 年 11 月 1 日2023 年 11 月 1 日
Android 11(API 级别 30)2021 年 8 月 1 日2021 年 11 月 1 日2022 年 11 月 1 日

提示:如需获得技术指导来了解如何更改应用的目标 API 级别以满足上述要求,请参阅迁移指南

何时必须将 Wear OS 应用的目标 API 级别设为该级别?

Android 操作系统版本新应用应用更新现有应用
Android 11(API 级别 30)2022 年 8 月 1 日2022 年 11 月 1 日无要求
Android 10(API 级别 29)无要求无要求无要求
Android 9(API 级别 28)2019 年 8 月 1 日2019 年 11 月 1 日无要求

应用可能受到的影响

应用影响
新应用您将无法在 Play 管理中心发布不符合目标 API 级别要求的 app bundle。
应用更新您将无法在 Play 管理中心提交不符合目标 API 级别要求的 app bundle 或 APK。
现有应用如果新用户的设备搭载的 Android 操作系统版本高于您的应用的目标 API 级别,那么这类用户将无法在 Google Play 上获取您的应用。也就是说,这类新用户将无法从 Google Play 中发现或安装您的应用。之前从 Google Play 中安装过这款应用的用户仍可以发现、重新安装和使用它。这类现有用户即使换用新的 Android 设备,也仍然可以使用您的应用。

文档目录

Android 14.0

新特性

行为更变

官方进度

相关资源

Android 13.0

新特性

行为更变

官方进度

相关资源

Android 12.0 / 12L

新特性

行为变更

官方进度

相关资源

Android 11.0

概览

隐私权变更受影响的应用缓解策略
强制执行分区存储机制 以 Android 11 或更高版本为目标平台的应用始终会受分区存储行为的影响以 Android 11 或更高版本为目标平台的应用,以及以 Android 10 为目标平台且未将 requestLegacyExternalStorage 设为 true 以停用分区存储的应用更新您的应用以使用分区存储 详细了解分区存储变更
单次授权 使用单次授权功能,用户可以授予对位置信息、麦克风和摄像头的临时访问权限在 Android 11 或更高版本上运行且请求位置信息、麦克风或摄像头权限的应用在尝试访问受某项权限保护的数据之前,检查您的应用是否具有该权限 遵循请求权限方面的最佳做法
自动重置权限 如果用户在 Android 11 或更高版本上几个月未与应用互动,系统会自动重置应用的敏感权限以 Android 11 或更高版本为目标平台且在后台执行大部分工作的应用要求用户阻止系统重置应用的权限 详细了解自动重置权限
后台位置信息访问权限 Android 11 更改了用户向应用授予后台位置信息权限的方式以 Android 11 或更高版本为目标平台且需要在后台访问位置信息的应用通过对权限请求方法的多次单独调用,逐步请求在前台(粗略或精确)和后台访问位置信息的权限。必要时,说明用户授予该权限所能得到的益处 详细了解 Android 11 中的在后台访问位置信息的权限
软件包可见性 Android 11 更改了应用查询同一设备上的其他已安装应用及与之互动的方式以 Android 11 或更高版本为目标平台且与设备上的其他已安装应用交互的应用<queries> 元素添加到应用的清单 详细了解软件包可见性
前台服务 Android 11 更改了前台服务访问位置信息、摄像头和麦克风相关数据的方式在 Android 11 或更高版本上运行且在前台服务中访问位置信息、摄像头或麦克风的应用分别针对需要访问摄像头和麦克风的前台服务,声明 cameramicrophone 前台服务类型。但请注意,应用在后台运行时启动的前台服务通常无法访问位置信息、摄像头或麦克风。 详细了解前台服务的变更

新特性

行为更变

相关资源

Android 10.0

概览

隐私权变更受影响的应用缓解策略
分区存储 针对外部存储的过滤视图,可提供对特定于应用的文件和媒体集合的访问权限访问和共享外部存储中的文件的应用使用特定于应用的目录和媒体集合目录 了解详情
增强了用户对位置权限的控制力 仅限前台权限,可让用户更好地控制应用对设备位置信息的访问权限在后台时请求访问用户位置信息的应用确保在没有后台位置信息更新的情况下优雅降级 使用 Android 10 中引入的权限在后台获取位置信息 了解详情
系统执行后台 Activity 针对从后台启动 Activity 实施了限制不需要用户互动就启动 Activity 的应用使用通知触发的 Activity 了解详情
不可重置的硬件标识符 针对访问设备序列号和 IMEI 实施了限制访问设备序列号或 IMEI 的应用使用用户可以重置的标识符 了解详情
无线扫描权限 访问某些 WLAN、WLAN 感知和蓝牙扫描方法需要获得精确位置权限使用 WLAN API 和蓝牙 API 的应用针对相关使用场景请求 ACCESS_FINE_LOCATION 权限 了解详情

新特性

行为更变

相关资源

Android 9.0

新特性

行为更变

相关资源

Android 8.0 / 8.1

新特性

行为变更

相关资源

Android 7.0 / 7.1.1

新特性

行为变更

相关资源

Android 6.0

新特性

行为变更

相关资源

Android 5.0 / 5.1

新特性

行为变更

Android 4.4

新特性

行为变更

相关资源

作者其他开源项目

微信公众号:Android轮子哥

Android 技术 Q 群:10047167

如果您觉得我的开源库帮你节省了大量的开发时间,请扫描下方的二维码随意打赏,要是能打赏个 10.24 :monkey_face:就太:thumbsup:了。您的支持将鼓励我继续创作:octocat:

点击查看捐赠列表

License

Copyright 2021 Huang JinQun

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.