您现在的位置是:首页 >其他 >Android 10(Go) 版本变更总览(API 级别 29)网站首页其他
Android 10(Go) 版本变更总览(API 级别 29)
Android 10 版本
Android 10 总览
https://developer.android.google.cn/about/versions/10?hl=zh-cn
文章基于官方资料上提取
Android 10 中的隐私权变更
https://developer.android.google.cn/about/versions/10/privacy?hl=zh-cn
重大变更
-
外部存储访问权限范围限定为应用文件和媒体
(https://developer.android.google.cn/about/versions/10/privacy/changes?hl=zh-cn#scoped-storage) -
在后台运行时访问设备位置信息需要权限
ACCESS_BACKGROUND_LOCATION
(https://developer.android.google.cn/about/versions/10/privacy/changes?hl=zh-cn#app-access-device-location)- 以 Android 9 或更低版本为目标平台时自动授予访问权限
- 在设备升级到 Android 10 后访问
(https://developer.android.google.cn/about/versions/10/privacy/changes?hl=zh-cn#access_when_device_is_upgraded_to)
-
针对从后台启动 Activity 的限制
(https://developer.android.google.cn/about/versions/10/privacy/changes?hl=zh-cn#background-activity-starts)
标识符和数据
针对硬件标识符(如 IMEI、序列号、MAC 和类似数据)实施了新限制。
- 移除了联系人亲密程度信息
- 随机分配 MAC 地址
(https://developer.android.google.cn/about/versions/10/privacy/changes?hl=zh-cn#randomized-mac-addresses) - 对 /proc/net 文件系统的访问权限实施了限制
- 对不可重置的设备标识符实施了限制
(https://developer.android.google.cn/about/versions/10/privacy/changes?hl=zh-cn#non-resettable-device-ids) - 限制了对剪贴板数据的访问权限
- 保护 USB 设备序列号
摄像头和连接性
针对摄像头元数据和连接 API 提供了更强大的保护措施。
(https://developer.android.google.cn/about/versions/10/privacy/changes?hl=zh-cn#camera-connectivity)
- 对访问摄像头详情和元数据的权限实施了限制
- 对启用和停用 WLAN 实施了限制
- 对直接访问已配置的 WLAN 网络实施了限制
- 一些电话 API、蓝牙 API 和 WLAN API 需要精确位置权限
https://developer.android.google.cn/about/versions/10/privacy/changes?hl=zh-cn#location-telephony-bluetooth-wifi
权限
针对权限模型和要求的一些变更。
- 限制对屏幕内容的访问
更改了READ_FRAME_BUFFER、CAPTURE_VIDEO_OUTPUT 和 CAPTURE_SECURE_VIDEO_OUTPUT
权限的作用域
(https://developer.android.google.cn/about/versions/10/privacy/changes?hl=zh-cn#screen-contents) - 面向用户的权限检查(针对旧版应用)
- 身体活动识别
ACTIVITY_RECOGNITION
- 从界面中移除了权限组
行为变更:所有应用
https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn
限制非 SDK 接口
手势导航
从 Android 10 开始,用户可以在设备中启用手势导航。用户启用后,手势导航会影响设备上的所有应用,无论应用是否以 API 级别 29 为目标平台。
https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#gesture-nav
NDK
- 共享对象不得包含文本重定位
- Bionic 库和动态链接器路径变更
- 系统二进制文件/库会映射到只执行内存
安全
- TLS 1.3 默认处于启用状态
- TLS 不信任使用 SHA-1 签名的证书
- KeyChain 行为变更和改进
- 其他 TLS 和加密更改
WLAN 直连广播
以下与 WLAN 直连相关的广播不具有粘性:
WIFI_P2P_CONNECTION_CHANGED_ACTION WIFI_P2P_THIS_DEVICE_CHANGED_ACTION
WLAN 感知功能
https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#wifi-aware
Go 设备上的 SYSTEM_ALERT_WINDOW
(https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#sysalert-go)
在 Android 10(Go 版本)设备上运行的应用无法获得 SYSTEM_ALERT_WINDOW
权限。这是因为绘制叠加层窗口会使用过多的内存,这对低内存 Android 设备的性能十分有害。
关于以旧版 Android 系统为目标平台的应用的警告
在搭载 Android 10 或更高版本的设备上,如果用户首次运行以 Android 5.1(API 级别 22)或更低版本为目标平台的应用,则会看到警告。
移除了 SHA-2 CBC 加密套件
https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#sha2-cbc-cipher-suites
应用使用情况
https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#app-usage
HTTPS 连接变更
(https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#https-connection)
如果在 Android 10 上运行的应用将 null 传递给 setSSLSocketFactory()
,则会出现 IllegalArgumentException。
android.preference 库已弃用
https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#preferences
ZIP 文件实用程序库变更
https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#zip-file-library
摄像头变更
https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#camera
以 API 级别 24 或更高级别为目标平台的应用应该明确设置 android:resizeableActivity,并提供必要的功能来处理多窗口操作。
电池用量跟踪
https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#battery-tracking
从 Android 10 开始,只要在发生重大充电事件之后拔下设备电源插头,SystemHealthManager 就会重置其电池用量统计信息。一般来说,重大充电事件指的是设备电池已充满,或者设备电量从几乎耗尽变为即将充满。
Android Beam 已弃用
https://developer.android.google.cn/about/versions/10/behavior-changes-all?hl=zh-cn#beam-deprecation
行为变更:以 API 29 及更高级别为目标平台的应用
有关限制非 SDK 接口的更新
共享内存
https://developer.android.google.cn/about/versions/10/behavior-changes-10?hl=zh-cn#shared-memory
移除了应用主目录的执行权限
Android 运行时只接受系统生成的 OAT 文件
在 ART 中强制要求 AOT 正确性
针对全屏 Intent 的权限变更
如果应用以 Android 10 或更高版本为目标平台并使用涉及全屏 intent 的通知,则必须在应用的清单文件中请求 USE_FULL_SCREEN_INTENT
权限
支持可折叠设备
(https://developer.android.google.cn/about/versions/10/behavior-changes-10?hl=zh-cn#foldables)
在 Android 10(API 级别 29)及更高版本中,您可以订阅 onTopResumedActivityChanged()
回调,以便在 Activity 获取或失去在最顶层处于已恢复状态的位置后收到通知。
java.io.FileChannel.map() 更改
面向开发者的 Android 10
创新技术和新体验
-
可折叠设备
https://developer.android.google.cn/about/versions/10/highlights?hl=zh-cn#foldables -
5G 网络
-
深色主题
https://developer.android.google.cn/about/versions/10/highlights?hl=zh-cn#dark_theme -
手势导航
https://developer.android.google.cn/about/versions/10/highlights?hl=zh-cn#gesture_navigation -
设置面板
https://developer.android.google.cn/about/versions/10/highlights?hl=zh-cn#settings_panels -
共享快捷方式
https://developer.android.google.cn/about/versions/10/highlights?hl=zh-cn#sharing_shortcuts
用户隐私设置
https://developer.android.google.cn/about/versions/10/highlights?hl=zh-cn#privacy_for_users
- 赋予用户对位置数据的更多控制权
- 在扫描网络时保护位置数据
用于扫描网络的大多数 API 都需要粗略位置权限。Android 10 改为要求精确位置权限 - 阻止设备跟踪
应用无法再访问不可重置的设备标识符(可用于跟踪),包括设备 IMEI、序列号和类似标识符。设备的 MAC 地址也会默认在连接到 WLAN 网络时随机分配。 - 保护外部存储设备中的用户数据
应用可以将自己的文件存储在专用沙盒中,但必须使用 MediaStore 来访问共享媒体文件,并使用系统文件选择器访问新的“下载内容”集合中的共享文件。 - 屏蔽意外中断
Android 10 可阻止应用从后台启动
安全性
https://developer.android.google.cn/about/versions/10/highlights?hl=zh-cn#security
- 存储加密
- 默认启用 TLS 1.3
- 平台安全强化
- 改进了生物识别功能
摄像头和媒体
https://developer.android.google.cn/about/versions/10/highlights?hl=zh-cn#camera_and_media
- 照片的动态深度
- 捕获播放的音频
- 新的音频和视频编解码器
- 原生 MIDI API
- 可缩放的定向麦克风
- Vulkan 无处不在
连接性
- 改进了点对点连接和互联网连接
- WLAN 性能模式
https://developer.android.google.cn/about/versions/10/highlights?hl=zh-cn#wi-fi_performance_modes
通过启用高性能和低延迟模式来请求自适应 WLAN
Android 基础知识
- ART 优化
- Neural Networks API 1.2
- Thermal API
- 通过公共 API 实现兼容性
更新速度更快,代码更新频率更高
https://developer.android.google.cn/about/versions/10/highlights?hl=zh-cn#faster_updates_fresher_code