Android Q 開發者預覽版今天凌晨正式發布,這意味著安卓開發者們又即將迎來一年一度的新版本適配工作。Android Q版本有哪些變更和新特性?一起來看看!
隱私保護是Android Q重要的主題之一,Android Q帶來了一系列增強用戶隱私保護的變更。
1、應用文件存儲空間限制
應用訪問限制是Android Q影響最大變更之一。在Android Q系統中,應用只可以通過路徑讀取自己應用沙箱內的文件,如果需要讀取應用沙箱外的文件,需要使用安卓統一介面來實現。該變更對大部分應用都會產生較重大的影響,需要開發者進行重點關注,後續我們也將以專題的形式來詳細解讀應該變更的影響和應對策略。
2、禁止訪問不可更改的ID
Android Q將禁止非系統應用訪問用戶不可更改的ID,包括IMEI號、SN號、USB序列號等。系統WiFi Mac地址默認是隨機生成的,不再是固定的Mac地址,防止用戶隱私被追蹤。該變更將對依賴設備信息的業務產生影響,比如數據上報、用戶畫像、推薦和廣告等,需要開發者進行重點關注。
3、不允許後台彈頁面
Android Q將禁止應用後台啟動activity,這將對後台彈出頁面使用場景產生重大影響,如:鬧鐘、音樂鎖屏、應用後台安裝等。在目前的預覽版中,該變更未正式實施,但是對有後台彈頁面的行為會產生toast警告,提示開發者進行相關的整改。
該變更對有通知的應用,widget和快捷方式沒有影響,開發者可以將一些必要的場景改用通知的方式去實現。
4、位置許可權三態化
Android Q中,應用在申請地理位置授權時,將增加使用時可用,和始終可用兩個選擇。這將對需要後台GPS定位的使用場景產生影響,開發者在使用後台定位時需要增加前台服務。
5、剪切板訪問限制
Android Q中,系統將禁止應用在後台訪問剪切板,以更好的保護用戶隱私。
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。
禁止非系統應用調用dex2oat
Android Q將禁止非系統應用調用dex2oat,該變更通過selinux許可權進行管控,只對TargetSdkVersion≥Q的應用產生影響,需要開發者進行排查是否有相關操作。此外該變更還會對加固程序產生影響,需要加固廠商進行重點關注。
2019 Google Play上架API LEVEL政策規定,對於新上架的應用,2019年8月1日以後,應用TargetSdkVersion需要大於等於28;對於更新的應用,2019年11月1日前需要將應用TargetSdkVersion升級到28及以上。
親愛的用戶和開發者們,你覺得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
TAG:Android |