Android Q 變動和新特性

安全和隱私變動linux

隱私保護是Android Q重要的主題之一,Android Q帶來了一系列加強用戶隱私保護的變動。sql

 

1安全

應用文件存儲空間限制併發

應用訪問限制是Android Q影響最大變動之一。在Android Q系統中,應用只能夠經過路徑讀取本身應用沙箱內的文件,若是須要讀取應用沙箱外的文件,須要使用安卓統一接口來實現。該變動對大部分應用都會產生較重大的影響,須要開發者進行重點關注,後續咱們也將以專題的形式來詳細解讀應該變動的影響和應對策略。ide

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及以上。

相關文章
相關標籤/搜索