AndroidVersionAdapter: 安卓版本适配全套指南

Android 版本适配全套指南

  • 项目地址:Github、码云

  • 当我在做 Android 版本适配工作的时候很痛苦,那个时候我在想有没有一个文档,将所有的关于 Android 版本适配资料全部收集起来,这样就不需要在网上东找西找了,这样就能把时间和精力投入适配工作中,每当一个新的 Android 版本发布的时候,这个想法越加强烈,终于在 Android 11 刚发布的时候筹划了这件事情,最终赶在 Android 12 刚发布的时候完成了,整个过程耗时非常漫长,因为我正在不断收集优质的资料,同时我也在不断思考,什么样的适配文档才是大家所需要的,我将适配文档简单划分成了以下几部分:

    • 官方文档

      • 新特性

      • 行为变更

    • 相关资源

      • 适配文章链接

      • 适配框架链接

  • 为什么要把这个做成开源项目?因为我会不断更新,同时欢迎大家如果有好的文章也可以通过 issue 推荐给我,我审核通过之后会放上去,做好一个开源项目需要大家的添砖加瓦,开源是一个互帮互助的过程,没有大家的支持我很难做好它。

适配流程

  • 这里以适配 Android 12 为例子,第一步将主模块中的 build.gradle 文件中修改 targetSdkVersioncompileSdkVersion 这两个的值

android {
​compileSdkVersion 31defaultConfig {targetSdkVersion 31}
}
  • 接下来在代码中做一些版本的判断,并且做好新版本的适配和旧版本的兼容

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {......
} else {......
}
  • 到这里,大家可能有一个疑问,targetSdkVersion 和 compileSdkVersion 有啥区别?

    • targetSdkVersion:目标适配版本,告知系统 App 适配的情况,如果应用的 targetSdkVersion 比系统版本要低,那么在一些新特性上新系统会做向下兼容性处理,如果我们想要适配某个 Android 版本,必须要将 targetSdkVersion 调整到这个版本等级之上,否则在某些机型上面可能会出现一些适配异常的情况。如果我们只是简单调高了 targetSdkVersion 等级而没有适配新版本的特性,那么应用在新系统上可能会出现功能异常的情况,一般情况表现为应用崩溃或者获取不到数据。

    • compileSdkVersion:编译源码版本,我们可以通过修改这个版本等级来改变我们在代码中所看到的 Android SDK 源码的版本,同时也决定了编译器在进行代码检查时所用的版本。

  • 最后附上一张 Android 版本信息对应表

Android 版本 API 等级 版本代号 发布时间
Android 12L 32 S_V2 预计 2022 年 3 月
Android 12 31 S 2021 年 10 月 4 日
Android 11 30 R 2020 年 9 月 9 日
Android 10 29 Q 2019 年 9 月 3 日
Android 9.0 28 P 2018 年 8 月 7 日
Android 8.1 27 O_MR1 2017 年 12 月 5 日
Android 8.0 26 O 2017 年 8 月 22 日
Android 7.1 25 N_MR1 2016 年 12 月 5 日
Android 7.0 24 N 2016 年 8 月 22 日
Android 6.0 23 M 2015 年 9 月 29 日
Android 5.1 22 LOLLIPOP_MR1 2015 年 3 月 10 日
Android 5.0 21 LOLLIPOP 2014 年 10 月 15 日
Android 4.4 19 KITKAT 2013 年 10 月 31 日

文档目录

  • Android 12.0 / 12L

  • Android 11.0

  • Android 10.0

  • 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 12.0 / 12L

新特性

  • Android 12.0 新特性

    • 用户体验

      • Material You

      • 微件改进

      • 富媒体内容插入

      • 应用启动画面 API

      • 圆角 API

      • 富触感反馈体验

      • AppSearch

      • 游戏模式

      • 画中画 (PiP) 改进

      • 允许按来电重要性排名的新通话通知

      • 通知的丰富图片支持

      • 沉浸模式下的手势导航改进

      • 近期网址共享(仅限 Pixel)

    • 安全和隐私设置

      • 隐私信息中心

      • 蓝牙权限

      • 权限组查找

      • 隐藏应用叠加窗口

      • 已知签名者权限保护标志

      • 设备属性认证

      • 安全锁定屏幕通知操作

      • BiometricPrompt 的可本地化字符串

      • 即时通讯应用中的钓鱼式攻击检测功能(仅限 Pixel)

    • 媒体

      • 兼容的媒体转码

      • 性能等级

      • 视频编码改进

      • 音频焦点

      • MediaDrm 更新

    • 相机

      • Camera2 供应商扩展

      • Quad Bayer 摄像头传感器支持

    • 图形和图片

      • 让应用能够直接访问 Tombstone 跟踪记录

      • AVIF 图片支持

      • 更简单的模糊处理、颜色滤镜及其他效果

      • 原生动画图片解码

    • 连接性

      • 使配套应用保持唤醒状态

      • 配套设备管理器配置文件

      • 带宽估测改进

      • Wi-Fi 感知 (NAN) 增强功能

      • 并发点对点 + 互联网连接

      • 为 NFC 付款启用屏幕关闭

    • 存储

    • 核心功能

      • 自动更新应用

      • 设备芯片组信息

      • 核心 Java API 的更新

    • 微件改进

    • 企业版的新变化

  • Android 12L 功能和变更

    • 针对大屏设备优化了操作系统

      • 面向开发者:媒体投影的变化

    • 强大直观的多任务处理功能

      • 面向开发者:在分屏模式下测试应用

    • 改善了兼容性体验

      • 面向开发者:在兼容模式下检查应用

    • 针对大屏设备的更多更新和资源

      • 大屏设备上 Google Play 的变化

      • 使用 Jetpack WindowManager 嵌入 activity

      • 设备屏幕方向请求

    • 让您的应用做好准备

      • 要测试的内容

行为变更

  • 针对所有应用的行为变更

    • 用户体验

      • 滚动效果

      • 前台服务通知用户体验延迟

      • 沉浸模式下的手势导航改进

      • 网络 intent 解析

      • 限制性应用待机模式存储分区

      • Display#getRealSize 和 getRealMetrics:废弃和沙盒

    • 图形和图片

      • 改进了刷新率切换

    • 安全和隐私设置

      • 麦克风和摄像头切换开关

      • 麦克风和摄像头指示标志

      • 应用无法关闭系统对话框

      • 不受信任的触摸事件被屏蔽

      • 权限软件包可见性

      • 移除了 Bouncy Castle 实现

      • 剪贴板访问通知

    • 连接性

      • Passpoint 更新

    • 更新后的非 SDK 接口限制

  • 针对 targetSdkVersion 31+ 应用的行为变更

    • 用户体验

      • 画中画行为改进

      • 自定义通知

      • Android App Links 验证的变更

    • 隐私设置

      • 大致位置

      • 应用休眠

      • 移动传感器有采样率限制

      • 数据访问审核

      • WebView 中的现代 SameSite Cookie

      • ADB 备份限制

    • 安全

      • 更安全的组件导出

      • 尽可能创建不可变的待处理 intent

      • 不安全的 intent 启动

    • 性能

      • 前台服务启动限制

      • 精确的闹钟权限

      • 通知 trampoline 限制

    • 备份和恢复

    • 连接性

      • 并发点对点 + 互联网连接

      • 为 NFC 付款启用屏幕关闭

    • 供应商库

      • 供应商提供的原生共享库

    • 更新后的非 SDK 限制

相关资源

  • Android 12 正式发布 | 开发者们的全新舞台

  • Android 12 适配简介

  • OPPO 开放平台 - Android 12 应用兼容性适配指导

  • Android 12 快速适配要点

  • 更新您的 widget 以适配 Android 12

  • Android 12 上全新的应用启动画面,还不适配一下?

  • SplashScreen:为全新的应用启动效果赋能

  • Android 12 SplashScreen API 快速入门

  • Jetpack SplashScreen API 在所有 Android 系统上使用总结,内含原理分析

  • 深度探讨如何使用 Jetpack SplashScreen 重塑应用启动画面

  • Android 12 启动画面-SplashScreen

  • Android 12 上焕然一新的小组件:美观、便捷和实用

  • 别羡慕苹果的小部件了,安卓也有!

  • Android 12 蓝牙权限适配方案

  • Android 12 新特性 android:exported 属性

  • The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

  • 详解 Android 12L|更好地适配大屏幕设备

  • 正式版 API 确定 | Android 12L Beta 1 发布

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 前台服务类型。但请注意,应用在后台运行时启动的前台服务通常无法访问位置信息、摄像头或麦克风。 详细了解前台服务的变更

新特性

  • 向您的应用添加 5G 功能

  • 强制门户 API 支持

  • 安全共享大型数据集

  • 联系人与对话

  • 消息框

  • 控制外部设备

  • 将自动填充功能与键盘集成

行为更变

  • 针对所有应用的行为变更

    • 隐私权

      • 单次授权

      • 权限对话框的可见性

      • 数据访问审核

      • 系统提醒窗口权限

      • 永久 SIM 卡标识符

    • 接触史通知

    • 安全性

      • SSL 套接字默认情况下使用 Conscrypt SSL 引擎

      • Scudo Hardened Allocator

      • 应用使用情况统计信息

      • 针对 5G 的模拟器支持

    • 性能和调试

      • JobScheduler API 调用限制调试

      • 文件描述符排错程序 (fdsan)

    • 非 SDK 接口限制

    • V1 版 Google 地图共享库已移除

    • 与其他应用交互

      • 分享内容 URI

  • 针对 targetSdkVersion 30+ 应用的行为变更

    • 隐私权

      • 强制执行分区存储

      • 自动重置权限

      • 在后台访问位置信息的权限

      • 软件包可见性

    • 安全

      • 堆指针标记

      • 消息框的更新

    • 网络连接

      • 限制对 APN 数据库的读取访问

    • 无障碍服务

      • 在清单文件中声明与 TTS 引擎的交互

      • 在元数据文件中声明“无障碍”按钮使用情况

    • 相机

      • 媒体 intent 操作需要系统默认相机

    • 应用打包和安装

      • 压缩的资源文件

      • 现在需要 APK 签名方案 v2

    • Firebase

      • Firebase JobDispatcher 和 GCMNetworkManager

    • 设备到设备文件传输

    • OnSharedPreferenceChangeListener 的回调变更

    • 非 SDK 接口限制

相关资源

  • Android 11 开发者手册

  • 拖不得了,Android11真的要来了,最全适配实践指南奉上

  • Android 11 变更及适配攻略

  • OPPO 开放平台 - Android 11 应用兼容性适配指导

  • Android 11 外部存储权限适配指南及方案

  • 微信开放平台 - Android 11 系统策略更新

  • Android 11 绕过反射限制

  • Android 11 软件包可见性适配

  • Android 11 特性调整:安装外部来源应用需要重启APP

  • Android 11 无法在后台显示自定义样式 Toast 的适配方案

  • 知乎回答:如何评价在 Android11 中,/Android/data 文件夹无法读写?

  • Android 11 无 Root 访问 data 目录实现、Android 11 访问 data 目录、Android 11 解除 data 目录限制、Android 11 data 空白解决

Android 10.0

概览

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

新特性

  • 折叠屏

  • 5G 网络

  • 通知栏消息回复

  • 深色主题

  • 手势导航

  • 设置面板

  • 共享快捷方式

行为更变

  • 针对所有应用的行为变更

    • 限制非 SDK 接口

    • 手势导航

    • NDK

      • 共享对象不得包含文本重定位

    • Bionic 库和动态链接器路径变更

    • 系统二进制文件/库会映射到只执行内存

    • 安全

      • TLS 1.3 默认处于启用状态

      • TLS 不信任使用 SHA-1 签名的证书

      • KeyChain 行为变更和改进

      • 其他 TLS 和加密更改

    • WLAN 直连广播

    • WLAN 感知功能

    • Go 设备上的 SYSTEM_ALERT_WINDOW

    • 关于以旧版 Android 系统为目标平台的应用的警告

    • 移除了 SHA-2 CBC 加密套件

    • 应用使用情况

    • HTTPS 连接变更

    • ZIP 文件实用程序库变更

      • Inflater

      • ZipFile

      • ZipOutputStream

    • 摄像头变更

    • 电池用量跟踪

    • Android Beam 已弃用

  • 针对 targetSdkVersion 29+ 应用的行为变更

    • 有关限制非 SDK 接口的更新

    • 共享内存

    • 移除了应用主目录的执行权限

    • Android 运行时只接受系统生成的 OAT 文件

    • 在 ART 中强制要求 AOT 正确性

    • 针对全屏 Intent 的权限变更

    • 支持可折叠设备

    • java.io.FileChannel.map() 更改

相关资源

  • Android 10 适配攻略

  • 暂时停用分区存储

  • Android 存储用例和最佳做法

  • Android 10(Q)/11(R) 分区存储适配

  • Android 10 分区存储适配

  • Android 10 适配要点,作用域存储

  • Android MediaStore Api 使用

  • Android 深色模式适配原理分析

  • Android 10 适配要点,深色主题

  • Android 深色模式的项目应用

  • Android 折叠屏适配攻略

Android 9.0

新特性

  • 利用 Wi-Fi RTT 进行室内定位

  • 显示屏缺口支持

  • 通知

  • 多摄像头支持和摄像头更新

  • 适用于可绘制对象和位图的 ImageDecoder

  • 动画

  • HDR VP9 视频、HEIF 图像压缩和 Media API

  • JobScheduler 中的流量费用敏感度

  • Neural Networks API 1.1

  • 自动填充框架

  • 安全增强功能

  • Android 备份

  • 无障碍功能

  • 旋转

  • 文本

  • 设备端系统跟踪

行为更变

  • 针对所有应用的行为变更

    • 电源管理

    • 隐私权变更

    • 对使用非 SDK 接口的限制

    • 安全行为变更

      • 设备安全性变更

    • ICU 库更新

    • Android Test 变更

    • Java UTF 解码器

    • 使用证书的主机名验证

    • 网络地址查询可能会导致网络违规

    • 套接字标记

    • 报告的套接字中可用字节数

    • 应用不再能访问 xt_qtaguid 文件夹中的文件

    • 现在强制执行 FLAG_ACTIVITY_NEW_TASK 要求

    • 屏幕旋转变更

    • Apache HTTP 客户端弃用影响采用非标准 ClassLoader 的应用

    • 枚举相机

  • 针对 targetSdkVersion 28+ 应用的行为变更

    • 前台服务

    • 隐私权变更

    • 框架安全性变更

    • 网络连接变更

      • 网络连接数据计数和多路径

      • Apache HTTP 客户端弃用

    • 界面变更

      • 视图焦点

      • CSS RGBA 十六进制值处理

      • 文件的 MIME 类型嗅探:URI

      • 文档滚动元素

      • 来自已暂停应用的通知

相关资源

  • Android 9.0 适配指南

  • Android 刘海屏适配全攻略

  • Android 9.0 系统新特性,对刘海屏设备进行适配

  • Android 9.0/P WebView 多进程使用的问题

  • 反射黑名单(根据包名划分)

  • 反射黑名单(根据类名划分)

  • 另一种绕过 Android P以上非公开API限制的办法

Android 8.0 / 8.1

新特性

  • Android 8.0 新特性

    • 用户体验

      • 通知

      • 自动填充框架

      • 画中画模式

      • 可下载字体

      • XML 中的字体

      • 自动调整 TextView 的大小

      • 自适应图标

      • 颜色管理

      • WebView API

      • 固定快捷方式和小部件

      • 最大屏幕纵横比

      • 多显示器支持

      • 统一的布局外边距和内边距

      • 指针捕获

      • 应用类别

      • Android TV 启动器

      • AnimatorSet

      • 输入和导航

    • 系统

      • 视图默认焦点

      • 新的 StrictMode 检测程序

      • 缓存数据

      • 内容提供程序分页

      • 内容刷新请求

      • JobScheduler 改进

      • 自定义数据存储

      • findViewById 签名变更

    • 媒体增强功能

      • VolumeShaper

      • 音频焦点增强功能

      • 媒体指标

      • MediaPlayer

      • 音频录制器

      • 音频播放控制

      • 增强的媒体文件访问功能

    • 连接

      • WLAN 感知

      • 蓝牙

      • 配套设备配对

    • 共享

      • 智能共享

      • 智能文本选择

    • 无障碍功能

      • 无障碍功能按钮

      • 独立的音量调整

      • 指纹手势

      • 字词级突出显示

      • 标准化单端范围值

      • 提示文本

      • 连续的手势分派

    • 安全性与隐私

      • 权限

      • 新的帐号访问和 Discovery API

      • Google Safe Browsing API

    • 测试

      • 仪器测试

      • 用于测试的模拟 Intent

    • 运行时和工具

      • 平台优化

      • 更新的 Java 支持

      • 更新的 ICU4J Android Framework API

      • Android 企业版

  • Android 8.1 新特性

    • Android Oreo(Go 版本)

    • Neural Networks API

    • 自动填充框架更新

    • 通知

    • EditText 更新

    • 程序化安全浏览操作

    • 视频缩略图提取器

    • Shared memory API

    • WallpaperColors API

    • 指纹更新

    • 加密更新

行为变更

  • 针对所有应用的行为变更

    • 后台执行限制

    • Android 后台位置限制

    • 应用快捷键

    • 语言区域和国际化

    • 提醒窗口

    • 输入和导航

    • 网页表单自动填充

    • 无障碍功能

    • 网络连接和 HTTP(S) 连接

    • 蓝牙

    • 无缝连接

    • 安全性

    • 隐私性

    • 记录未捕获的异常

    • 联系人提供程序使用情况统计方法的变更

    • 集合的处理

    • Android 企业版

  • 针对 targetSdkVersion 26+ 应用的行为变更

    • 提醒窗口

    • 内容变更通知

    • 视图焦点

    • 安全性

    • 帐号访问和可检测性

    • 隐私性

    • 权限

    • 媒体

    • 原生库

    • 集合的处理

    • 类加载行为

相关资源

  • Android 8.0 适配指北

  • Android 通知栏微技巧,8.0 系统中通知栏的适配

  • 创建和管理通知渠道

  • Android 应用图标微技巧,8.0 系统中应用图标的适配

  • 适配 Anddroid 8.0 多语言的解决方案

  • Android 8.0 踩坑记录 - Only fullscreen opaque activities can request orientation

  • Only fullscreen opaque activities can request orientation问题及解决方案

  • Only fullscreen activities can request orientation 终极解决方法

Android 7.0 / 7.1.1

新特性

  • Android 7.0 新特性

    • 多窗口支持

    • 通知增强功能

    • 配置文件指导的 JIT/AOT 编译

    • 快速的应用安装路径

    • 随时随地低电耗模式

    • 后台优化

    • SurfaceView

    • 流量节省程序

    • Vulkan API

    • Quick Settings Tile API

    • 号码屏蔽

    • 来电过滤

    • 多语言区域支持,更多语言

    • 新增的表情符号

    • Android 中的 ICU4J API

    • WebView

      • Chrome 和 WebView 配合使用

      • 多进程

      • Javascript 在页面加载之前运行

      • 不安全起点上的地理定位

      • 测试 WebView 测试版

    • OpenGL™ ES 3.2 API

    • Android TV 录制

    • Android for Work

      • 工作资料安全性挑战

      • 关闭工作

      • Always on VPN

      • 自定义配置

    • 无障碍增强功能

    • 直接启动

    • 密钥认证

    • 网络安全性配置

    • 默认受信任的证书颁发机构

    • APK signature scheme v2

    • 作用域目录访问

    • 键盘快捷键辅助工具

    • Custom Pointer API

    • Sustained Performance API

    • VR 支持

    • 打印服务增强

    • FrameMetricsListener API

    • 虚拟文件

  • Android 7.1 新特性

    • 应用快捷方式

    • 键盘支持图像

    • 新的专业表情符号

    • 增强的动态壁纸元数据

    • 圆形图标资源

    • 存储管理器意图

    • 改进的 VR 线程调度

    • 演示用户提示

    • 运营商和呼叫应用程序的 API

    • 可穿戴设备的新屏幕密度

行为变更

  • 电池和内存

    • 低电耗模式

    • 后台优化

  • 系统权限更改

  • 在应用间共享文件

  • 无障碍改进

    • 屏幕缩放

    • 设置向导中的视觉设置

  • NDK 应用链接至平台库

    • 检查您的应用是否使用私有库

    • 更新您的应用

  • Android for Work

  • 注解保留

  • 其他重要说明

相关资源

  • Android 7.0 脱坑指南

  • Android 7.0 适配教程,心得

  • Android 一起来看看 7.0 的新特性 FileProvider

  • 官方文档 - FileProvider 类

  • Toast 在 Android 7.1 崩溃排查及修复

  • PopupWindow 在 Android N(7.0) 的兼容性问题

  • Android 7.0 WebView 部分机型打不开

Android 6.0

新特性

  • 指纹身份验证

  • 确认凭据

  • 应用链接

  • 自动备份应用

  • 直接共享

  • 语音交互

  • Assist API

  • 可采用的存储设备

  • 通知

  • 蓝牙触控笔支持

  • 改进的蓝牙低功耗扫描

  • Hotspot 2.0 第 1 版支持

  • 4K 显示模式

  • 主题化 ColorStateList

  • 音频功能

  • 视频功能

  • 相机功能

    • Flashlight API

    • Reprocessing API

  • Android for Work 功能

行为变更

  • 运行时权限

  • 低电耗模式和应用待机模式

  • 取消支持 Apache HTTP 客户端

  • BoringSSL

  • 硬件标识符访问权

  • 通知

  • 音频管理器变更

  • 文本选择

  • 浏览器书签变更

  • Android 密钥库变更

  • WLAN 和网络连接变更

  • 相机服务变更

  • 运行时

  • APK 验证

  • USB 连接

  • Android for Work 变更

相关资源

  • Android 6.0 运行权限解析

  • 官方文档 - 请求应用权限

  • 所有的 Android 权限清单

Android 5.0 / 5.1

新特性

  • Android 5.0 新特性

    • 用户界面

      • Material Design 支持

      • 最近使用的应用屏幕中的并发文档和 Activity

      • WebView 更新

      • 屏幕采集和共享

    • 通知

      • 锁定屏幕通知

      • 通知元数据

    • 图形

      • 对 OpenGL ES 3.1 的支持

      • Android 扩展包

    • 媒体

      • 用于高级相机功能的 Camera API

      • 音频回放

      • 媒体回放控制

      • 媒体浏览

    • 存储

      • 目录选择

    • 无线和连接

      • 多个网络连接

      • 蓝牙低功耗

      • NFC 增强功能

    • Volta 项目

      • 计划排定作业

      • 电池使用开发者工具

    • 工作场所和教育领域中的 Android

      • 托管配置

      • 设备所有者

      • 固定屏幕

    • 打印框架

      • 将 PDF 渲染成位图

    • 系统

      • 应用使用情况统计信息

    • 测试与辅助工具

    • 测试与辅助工具改进

    • IME

      • 更方便的输入语言切换

    • 清单声明

      • 可声明的必备功能

      • 用户权限

  • Android 5.1 新特性

    • 多 SIM 卡支持

    • 已弃用的 HTTP 类

    • 运营商服务

行为变更

  • Android Runtime (ART)

  • 通知

    • Material Design 样式

    • 声音和振动

    • 锁定屏幕可见性

    • 媒体播放

    • 浮动通知

  • 媒体控件和 RemoteControlClient

  • getRecentTasks()

  • Android NDK 中的 64 位支持

  • 绑定到服务

  • WebView

  • 自定义权限唯一性要求

    • 使用重复的自定义权限的应用

    • 您的应用需要注意的事项

    • 新安装和更新

    • 使用 Android 5.0 系统更新的现有安装

    • 建议

  • TLS/SSL 默认配置变更

    • 服务器不支持任何已启用的加密套件

    • 应用对用于连接服务器的加密套件做出错误的假设

    • 服务器不支持 TLSv1.1、TLSv1.2 或新的 TLS 扩展

  • 支持托管配置文件

    • 处理 Intent

    • 在各个配置文件中共享文件

    • 已移除锁定屏幕小部件支持

Android 4.4

新特性

  • 打印框架

    • 打印通用内容

    • 打印图像

    • 构建打印服务

  • 短信提供程序

  • 无线和连接

    • 主机卡模拟

    • NFC 读取器模式

    • 红外线发射器

  • 多媒体

    • 自适应播放

    • 音频点播时间戳

    • Surface 图像读取器

    • 峰值和有效值 (RMS) 测量

    • 音量增强器

    • 遥控器

    • 从遥控器进行评分

    • 隐藏式字幕

  • 动画和图形

    • 场景和转场

    • 动画暂停

    • 可重复使用的位图

  • 用户内容

    • 存储访问框架

    • 外部存储空间访问

    • 同步适配器

  • 用户输入

    • 新传感器类型

    • 批处理传感器事件

    • 控制器身份

  • 用户界面

    • 沉浸式全屏模式

    • 透明系统状态栏

    • 增强的通知侦听器

    • 可绘制的 RTL 布局镜像

    • 无障碍功能

  • 应用权限

  • 设备功能

行为变更

  • 外部存储

  • WebView

  • AlarmManager

  • ContentResolver

作者其他开源项目

  • 安卓技术中台:AndroidProject

  • 安卓技术中台 Kt 版:AndroidProject-Kotlin

  • 权限框架:XXPermissions

  • 吐司框架:ToastUtils

  • 网络框架:EasyHttp

  • 标题栏框架:TitleBar

  • 悬浮窗框架:XToast

  • Shape 框架:ShapeView

  • 语种切换框架:MultiLanguages

  • Gson 解析容错:GsonFactory

  • 日志查看框架:Logcat

  • Android 代码规范:AndroidCodeStandard

  • Studio 精品插件:StudioPlugins

  • 表情包大集合:EmojiPackage

  • 省市区 Json 数据:ProvinceJson

Android 适配指南相关推荐

  1. Android 11 适配指南

    Android 适配指南 Android 11适配指南 Scoped Storage(分区存储) 诞生的缘由 文件访问 详细 权限改变 定位权限 软件包可见性 前台服务类型 读取手机号 自定义Toas ...

  2. Android P 适配指南

    Android P 适配指南 原创: 王超 刘望舒 1周前 作者:王超1478507995000 https://juejin.im/post/5b8959f96fb9a019fe685eb3 本文由 ...

  3. Android P(3)---Android P版本刘海屏适配指南

    Android P版本刘海屏适配指南 Android P预览版增加了很多亮点新特性,其中最接地气.最直观的改变当属适配了类似于华为P20的顶部凹槽屏幕设计这一项,俗称刘海屏. 在开发者模式中,Andr ...

  4. Android系统---- 全面屏(18:9屏幕)适配指南

    7535 Android手机 全面屏(18:9屏幕)适配指南     从小米MIX 1发布以来,越来越多所谓"全面屏"手机发布,如三星S8,小米MIX2,VIVO X20,Goog ...

  5. Android 13 适配指南

    Android 13 适配指南 是的,你没看错,现在就要带你适配 Android13. 2022 的Google I/O 发布了 Android 13 beta 2 和 Android 13 Beta ...

  6. android 适配简单粗暴,Android10填坑适配指南(实际经验代码)

    Android10填坑适配指南(实际经验代码) 发布时间:2019-12-03 09:40 来源:互联网 当前栏目:web技术类 今天看到一篇好的文章,分享给大家,膜拜大佬. Android10填坑适 ...

  7. Android手机 全面屏(18:9屏幕)适配指南

    从小米MIX 1发布以来,越来越多所谓"全面屏"手机发布,如三星S8,小米MIX2,VIVO X20,Google Pixel2等等-2017年下半年开始,"全面屏&qu ...

  8. Android手机 全面屏(18:9屏幕)适配指南 点击打开链接

    Android手机 全面屏(18:9屏幕)适配指南 点击打开链接 从小米MIX 1发布以来,越来越多所谓"全面屏"手机发布,如三星S8,小米MIX2,VIVO X20,Google ...

  9. Android 手机 全面屏(18:9屏幕)适配指南

    作者 | brucevanfdm 地址 | http://www.jianshu.com/p/686f9b54765f 声明 | 本文是 brucevanfdm 原创,已获授权发布,未经原作者允许请勿 ...

最新文章

  1. Centos修改系统语言
  2. python能不能连等赋值_javascript 连等赋值问题
  3. 在fedora21 上的php+mysql+apache环境搭建
  4. vscode使用教程python-硬核教程:五步掌握用VSCode进行高效Python开发
  5. 强化学习-动态规划_强化学习-第4部分
  6. 数据结构与算法--简单栈实现及其应用
  7. 鸿蒙系统太烂,一加终于觉醒!变相承认系统太烂,魅族的吐槽一针见血
  8. quartz各版本MySQL数据库存储建表SQL语句
  9. python打开excel数据库_使用python导入excel文件中的mssql数据库数据
  10. android 动态壁纸
  11. python代码性能分析_Python 性能分析入门指南
  12. 游戏环境检测工具_自带基准测试的游戏大作盘点
  13. 计算机密码怎么重置,电脑忘记密码了怎么重置密码
  14. python计算余弦相似度
  15. 解密中概股的“杀手”:做空者
  16. 北漂程序员一天的生活
  17. unity删除云端项目
  18. PHP 二维数组去掉重复值并保持原结构
  19. 基于java web的设备运维报修管理系统
  20. 学习英语每日一 On the house. 赠品

热门文章

  1. Google与德意志银行将开始十年合作
  2. vivo X23发布:双涡轮引擎是亮点,Jovi物联成惊喜
  3. 一场「逃离蛋壳」的自救行动
  4. 学技术,先学做人 天之道,利而不害。圣人之道,为而不争。信言......
  5. linux图形化文本对比工具
  6. 印度优先!荣耀9 Lite成荣耀攻占印度杀手锏
  7. day30 | 黑马程序员Java全程笔记 | 第二阶段MySQL高级 JDBC
  8. 如何把一个对象的颜色设置成 ByLayer
  9. SSM整合Shiro___多认证Realm
  10. 新手向:如何运用Java编写九九乘法表。