6.0(sdk23)
1.運(yùn)行時(shí)權(quán)限 ,manifest聲明的權(quán)限如儲(chǔ)存、錄音、拍照等要?jiǎng)討B(tài)申請(qǐng)權(quán)限
2.WLAN 和網(wǎng)絡(luò)連接變更 、相機(jī)服務(wù)變更
增加低電耗模式和應(yīng)用待機(jī)模式
取消支持 Apache HTTP 客戶端
移除硬件標(biāo)識(shí)符訪問權(quán)
7.0(sdk24)
- 私有文件訪問權(quán)限更改(不能使用file:// Uri來(lái)訪問,需要FileProvider)
res目錄下創(chuàng)建xml/path.xml
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path=""/>
<files-path name="files-path" path=""/>
<cache-path name="cache-path" path=""/>
</paths>
manifest注冊(cè)
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.android.support.file.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/path" />
</provider>
多窗口支持(分屏顯示)
通知增強(qiáng)功能
隨時(shí)隨地低電耗模式
多語(yǔ)言區(qū)域支持,更多語(yǔ)言
Chrome 和 WebView 配合使用APK signature scheme v2
8.0(sdk26)
通知渠道 Notification
-
非全屏透明頁(yè)面不允許設(shè)置方向
// 解決方法 在theme中聲明 <item name="android:screenOrientation">portrait</item> <item name="android:windowFullscreen">true</item> Service的限制,后臺(tái)服務(wù)的限制
靜態(tài)廣播無(wú)法正常接收,原因: Android 8.0 引入了新的廣播接收器限制,因此您應(yīng)該移除所有為隱式廣播 Intent 注冊(cè)的廣播接收器
解決:動(dòng)態(tài)廣播替代靜態(tài)廣播
特性
- 啟動(dòng)圖標(biāo)
- 統(tǒng)一的布局外邊距和內(nèi)邊距
- 自動(dòng)填充框架、畫中畫模式、多顯示器支持、媒體增強(qiáng)功能
9.0(sdk28)
non-SDK接口的使用
Android P 引入了針對(duì)非 SDK 接口的新使用限制,無(wú)論是直接使用還是通過(guò)反射或 JNI 間接使用。 無(wú)論應(yīng)用是引用非 SDK 接口還是嘗試使用反射或 JNI 獲取其句柄,均適用這些限制
劉海屏適配
Battery Improvements
谷歌功耗方案對(duì)三方應(yīng)用各種管控,存在導(dǎo)致應(yīng)用后臺(tái)功能無(wú)法正常使用的可能,特別是:IM、郵箱、鬧鐘、音樂(直播)、地圖導(dǎo)航、運(yùn)動(dòng)健康、下載、日歷等應(yīng)用影響比較大。目前通過(guò)谷歌提供的調(diào)試命令驗(yàn)證:所有的應(yīng)用都有可能會(huì)被分到管控的類型,對(duì)三方的后臺(tái)功能是有影響的。
- AAB(Auto Awesome Battery)
- Smart screen brightness:屏幕亮度調(diào)節(jié)優(yōu)化算法
- Extreme Battery Saver(EB)谷歌超級(jí)省電模式;
不允許共享WebView數(shù)據(jù)目錄
應(yīng)用程序不能再跨進(jìn)程共享單個(gè)WebView數(shù)據(jù)目錄。如果您的應(yīng)用有多個(gè)使用WebView,CookieManager或android.webkit包中的其他API的進(jìn)程,則當(dāng)?shù)诙€(gè)進(jìn)程調(diào)用WebView方法時(shí),您的應(yīng)用將崩潰
移除對(duì) Build.serial 的直接訪問
需要 Build.serial 標(biāo)識(shí)符的應(yīng)用必須請(qǐng)求 READ_PHONE_STATE 權(quán)限,然后使用 Android P 中新增的新 Build.getSerial() 函數(shù)
SELinux 禁止訪問應(yīng)用的數(shù)據(jù)目錄
系統(tǒng)強(qiáng)制每個(gè)應(yīng)用的 SELinux 沙盒對(duì)每個(gè)應(yīng)用的私有數(shù)據(jù)目錄強(qiáng)制執(zhí)行逐個(gè)應(yīng)用的 SELinux 限制?,F(xiàn)在,不允許直接通過(guò)路徑訪問其他應(yīng)用的數(shù)據(jù)目錄。應(yīng)用可以繼續(xù)使用進(jìn)程間通信 (IPC) 機(jī)制(包括通過(guò)傳遞 FD)共享數(shù)據(jù)
CLEARTEXT communication to life.115.com not permitted by network security policy
原因:Android P 限制了明文流量的網(wǎng)絡(luò)請(qǐng)求,非加密的流量請(qǐng)求都會(huì)被系統(tǒng)禁止掉
解決:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
清單文件配置:
android:networkSecurityConfig="@xml/network_security_config"