Android Q Beta登場,新特性搶先看!
Android Q Beta登場,新特性搶先看!

image
Android Q 開發者預覽版今天凌晨正式釋出,這意味著安卓開發者們又即將迎來一年一度的新版本適配工作。本文第一時間為大家帶來Android Q變更和新特性的詳細解讀,大家快來看看這次的安卓新版本有哪些變化吧!
安全和隱私變更
隱私保護是Android Q重要的主題之一,Android Q帶來了一系列增強使用者隱私保護的變更。
1、應用檔案儲存空間限制
應用訪問限制是Android Q影響最大變更之一。在Android Q系統中,應用只可以通過路徑讀取自己應用沙箱內的檔案,如果需要讀取應用沙箱外的檔案,需要使用安卓統一介面來實現。該變更對大部分應用都會產生較重大的影響,需要開發者進行重點關注,後續我們也將以專題的形式來詳細解讀應該變更的影響和應對策略。

image
2、禁止訪問不可更改的ID
Android Q將禁止非系統應用訪問使用者不可更改的ID,包括IMEI號、SN號、USB序列號等。系統WiFi Mac地址預設是隨機生成的,不再是固定的Mac地址,防止使用者隱私被追蹤。該變更將對依賴裝置資訊的業務產生影響,比如資料上報、使用者畫像、推薦和廣告等,需要開發者進行重點關注。
3、不允許後臺彈頁面
Android Q將禁止應用後臺啟動activity,這將對後臺彈出頁面使用場景產生重大影響,如:鬧鐘、音樂鎖屏、應用後臺安裝等。在目前的預覽版中,該變更未正式實施,但是對有後臺彈頁面的行為會產生toast警告,提示開發者進行相關的整改。
該變更對有通知的應用,widget和快捷方式沒有影響,開發者可以將一些必要的場景改用通知的方式去實現。
4、位置許可權三態化
Android Q中,應用在申請地理位置授權時,將增加使用時可用,和始終可用兩個選擇。這將對需要後臺GPS定位的使用場景產生影響,開發者在使用後臺定位時需要增加前臺服務。
5、剪下板訪問限制
Android Q中,系統將禁止應用在後臺訪問剪下板,以更好的保護使用者隱私。
AOSP變更
1、Hidden API
在Android P中,谷歌已經開始限制Hidden API的使用,在Android Q中,新增了max-o和max-p兩種型別,黑名單的數量也大幅增加。這將對所有使用非SDK介面的應用產生影響。
開發者需要自行檢測非SDK介面的名單,並將還在使用的黑名單介面反饋給谷歌申請加到灰名單中,手機廠商也會配合應用進行測試驗證和相關的適配工作。
2、摺疊屏適配
現在越來越多的手機廠商釋出了摺疊屏的手機,谷歌在Android Q系統中提供了統一的摺疊屏方案和適配介面,系統增加增加了最小比例設定的引數minAspectRatio,應用可以通過meta-data宣告。
該變更對所有在摺疊屏裝置上的應用都會產生影響,主要需要解決手機從摺疊形態到展開狀態轉化時應用重新載入和展開狀態下應用顯示比例適配兩個問題。
多媒體新特性
1、Heif格式圖片支援
在Android P系統中已經增加了對Heif格式圖片的軟解碼和軟編碼的支援,系統圖庫也支援Heif格式圖片顯示。在Android Q中,將支援拍照直接生成Heif格式的圖片。這將對圖片讀取和分享的使用場景產生影響,相關的應用(如社交類、圖片美化類)應進行Heif格式圖片的支援適配。
2、併發錄音
在Android P及之前的安卓系統中,不支援併發錄音,錄音焦點不可搶佔。在Android Q中增加了對併發錄音的支援,錄音焦點可以被搶佔。這將對後臺錄音的場景產生影響,可能會錄到空資料。有相關使用場景的應用需要通過介面去監聽錄音焦點的狀態變化,並及時作出應對。
3、錄音source限制
Android Q系統對AUDIO_SOURCE_VOICE_CALL型別的錄音源增加許可權限制,CAPTURE_AUDIO_OUTPUT需要系統簽名才可以使用,其他應用無法申請。該變更將導致應用無法錄音,一些社交類軟體的語音電話功能會受到影響。
開發者需要將錄音源改為AUDIO_SOURCE_VOICE_COMMUNICATION來規避這個問題的發生。
4、MediaProvider
Android Q系統增加了對MediaProvider的sql語句管控,mediastore中定義的列以外的資訊,無法查詢,不合法的查詢列會返回空值。
檔案的位置資訊被刪除,將無法通過MediaProvider進行查詢。開發者需要對查詢的語句進行排查和整改,動態申請ACCESS_MEDIA_LOCATION許可權,然後通過MediaProvider的openFile獲取檔案的exif資訊。
系統應用變更
安裝器介面廢棄
Android Q系統將禁止呼叫intent(action為INSTALL_PACKAGE)拉起安裝器,該應用將對TargetSdkVersion<24的應用產生影響,應用內安裝的功能將無法實現。開發者可以使用FileProvider進行適配,使用content Uri替代file Uri。
OS特性變更
禁止非系統應用呼叫dex2oat
Android Q將禁止非系統應用呼叫dex2oat,該變更通過selinux許可權進行管控,只對TargetSdkVersion≥Q的應用產生影響,需要開發者進行排查是否有相關操作。此外該變更還會對加固程式產生影響,需要加固廠商進行重點關注。
API LEVEL政策變更
2019 Google Play上架API LEVEL政策規定,對於新上架的應用,2019年8月1日以後,應用TargetSdkVersion需要大於等於28;對於更新的應用,2019年11月1日前需要將應用TargetSdkVersion升級到28及以上。
後續我們將會發布系列文章對安卓Q的新特性以及適配方案進行詳細的解讀,敬請關注!此外華為Deveco雲測平臺即將上線Android Q遠端除錯及相容性測試服務,登入Deveco.huawei.com即可使用!
親愛的使用者和開發者們,你覺得Android Q最大的不同在哪裡呢?對於今年的安卓適配工作有沒有什麼想說的呢?歡迎留言告訴我們!
更多參考資料:
Android Q Beta開發者文件連結:
https://developer.android.com/preview
Android Q Beta映象下載連結:
https://developer.android.com/preview/download
Android Q Beta 釋出 blog:
https://android-developers.googleblog.com/2019/03/introducing-android-q-beta.html