参考文档:https://developer.android.com/about/versions/pie/android-9.0-changes-28
-
- 前台服务权限
使用前台服务的应用必须请求 FOREGROUND_SERVICE 权限。
-
-
-
- 只需要在manifest中声明,系统自动授予,无需动态授权
- 若无此权限运行前台服务,会发生SecurityException
-
- 隐私权变更
-
对设备序列信息和 DNS 信息进行的这些更新可增强用户隐私保护。
-
-
-
- 去除通过Build.SERIAL获取设备序列号的方法
-
-
在 Android 9 中,Build.SERIAL 始终设置为 "UNKNOWN" 以保护用户的隐私。
如果您的应用需要访问设备的硬件序列号,您应改为请求 READ_PHONE_STATE 权限,然后调用 getSerial()。
-
-
-
- DNS 隐私
-
-
以 Android 9 为目标平台的应用应采用私有 DNS API。 具体而言,当系统解析程序正在执行 DNS-over-TLS 时,应用应确保任何内置 DNS 客户端均使用加密的 DNS 查找与系统相同的主机名,或停用它而改用系统解析程序。
-
- 框架安全性变更
-
- 默认情况下启用网络传输层安全协议 (TLS)
-
- 框架安全性变更
如果您的应用以 Android 9 或更高版本为目标平台,则默认情况下 isCleartextTrafficPermitted() 函数返回 false。 如果您的应用需要为特定域名启用明文,您必须在应用的网络安全性配置中针对这些域名将 cleartextTrafficPermitted 显式设置为 true。
-
-
-
- WebView数据目录不允许共享
- 即使是同一个应用的不同进程也不行
- 建议:只在一个进程中调用WebView,其他进程disableWebView()
- 不同进程的WebView数据目录名必须使用不同的后缀
- 如果应用中的多个进程需要访问同一WebView数据,您需要自行在这些进程之间复制数据。 例如,您可以调用 getCookie() 和 setCookie(),在不同进程之间手动传输 Cookie 数据。
- 应用间不可以使用全局的Unix权限共享数据
- 每个应用数据目录都由selinux保护
- 应用可以继续使用ContentProvider或者外部存储共享数据
- WebView数据目录不允许共享
-
-
- 参考文献
-
-
- 华为终端开放实验室Android 9.0测试:
-
-
-
-
-
- 安卓绿色联盟《深度解读安卓P版本新特性》技术沙龙视频链接:
-
-
http://www.itdks.com/dakashuo/detail/15276?userId=2605919
http://www.itdks.com/dakashuo/detail/15275?userId=2605919
-
-
-
- Google P版本系统镜像下载:
-
-
https://developers.google.com/android/images
-
-
-
- 刷机指导:
-
-
https://source.android.com/source/running#unlocking-the-bootloader
-
-
-
- Google android code下载方法:
-
-
https://source.android.com/source/downloading.html
-
-
-
- Google android code线上查看地址:
-
-
https://android.googlesource.com/platform/frameworks/base/+/android-cts-9.0_r1
-
-
-
- Android 9 功能和 API:
-
-
https://developer.android.com/about/versions/pie/android-9.0
-
-
-
- 行为变更:所有应用
-
-
https://developer.android.com/about/versions/pie/android-9.0-changes-all
-
-
-
- 行为变更:以 API 级别 28+ 为目标的应用
-
-
https://developer.android.com/about/versions/pie/android-9.0-changes-28
-
-
-
- P版本适配流程:
-
-
https://developer.android.com/about/versions/pie/android-9.0-migration
-
-
-
- 刘海屏:
-
-
https://android-developers.googleblog.com/2018/07/supporting-display-cutouts-on-edge-to.html