應用 targetSdk 版本公升級指導(二)

2021-09-13 02:26:05 字數 2566 閱讀 3929

電信終端產業協會(taf)發布的《移動應用軟體高api等級預置與分發自律公約》要求,截止到2023年5月1日所有新發布的應用api必須為26或更高,2023年8月1日現有應用api必須公升級為26或更高。

應用 targetsdk 版本公升級指導(一)中已對android8.0、android9.0在targetsdk 版本變更方面做了詳細介紹,本文則將對android7.0、android6.0以及android5.x及以下系統版本在 targetsdk 版本方面的變更進行介紹。

*應用 targetsdk 版本公升級流程

測試機準備

1.使用最新支援 android 9.0 的手機測試:所有 emui 9.0 華為手機

2.pixel刷機:

3.使用綠盟遠**機:

4.使用模擬器

android7.0

(一)相關變更

1.系統禁止鏈結到非 ndk 庫

從 android 7.0 開始,系統將阻止應用動態鏈結非公開 ndk 庫,原因為ndk 庫可能會導致應用崩潰,此行為變更主要目的在為跨平台更新和不同裝置提供統一的應用體驗。即使應用中的**不會鏈結私有庫,但第三方靜態庫可能會進行鏈結,因此建議所有開發者都需進行相應檢查,確保應用不會在執行 android 7.0 的裝置上崩潰。如果應用使用的是原生**,則只能使用公開 ndk api。(

2.低電耗模式doze(系統狀態)

進入條件:滅屏、未充電、靜止持續1小時

退出條件:亮屏或移動或充電

限制資源

3.低電耗模式lite idle(系統狀態)

進入條件:滅屏、未充電持續5分鐘(android p調整為3分鐘)

退出條件:亮屏或充電

限制資源

排除&退出條件:前台應用、有前台服務的應用、通知欄或鎖屏通知訊息的應用或進行充電

不限制的應用:系統應用uid<10000的,persist常駐應用,電池優化白名單,系統關聯的其他應用

限制的資源

應用待機分組模式是在doze模式未生效時(亮屏或剛剛滅屏時),對執行在後台的使用者不可感知應用的耗電管控擴充套件。

(二)適配指導

低電耗模式和應用待機模式適配指導如下:

• 前台服務

應用需要在後台訪問網路或者使用cpu時可以通過此方式。

• doze白名單

查詢應用是不是在doze白名單:

向使用者申請授權新增doze白名單:

(一)相關變更

執行時許可權

此版本引入了一種新的許可權模式,使用者可直接在執行時管理應用許可權。這種模式讓使用者能夠更好地了解和控制許可權,為安裝的應用分別授予或撤銷許可權,同時為開發者精簡了安裝和自動更新過程。

對於以 android 6.0(api 級別 23)或更高版本為目標平台的應用,請務必在執行時檢查和請求許可權。確定應用是否已被授予許可權,可呼叫新增的 checkselfpermission() 方法。請求許可權,可呼叫新增的 requestpermissions() 方法。具體參考:

(二)適配指導

• 解釋需要許可權的原因:系統在開發者呼叫 requestpermissions() 時顯示的許可權對話方塊將說明應用需要的許可權,但不會解釋為何需要這些許可權。某些情況下,使用者可能會感到困惑,因此,建議在呼叫 requestpermissions() 之前向使用者解釋應用需要相應許可權的原因。

• 僅申請應用真正需要的許可權

• 如果應用在啟動之後一次要求使用者提供多項許可權,使用者可能會感到無所適從並因此退出應用 。建議開發者應根據需要請求許可權,對於某一些許可權應用可以在真正需要使用的時候再嘗試申請使用者動態授權。

android5.x(22-19)及以下版本變更

安卓綠色聯盟會定期進行技術分享,歡迎關注!

應用 targetSdk 版本公升級指導第二彈

電信終端產業協會 taf 發布的 移動應用軟體高api等級預置與分發自律公約 要求,截止到2019年5月1日所有新發布的應用api必須為26或更高,2019年8月1日現有應用api必須公升級為26或更高。在應用 targetsdk 版本公升級指導 一 中已對android8.0 android9.0...

版本公升級 Harbor版本公升級

本文只適用於harbor的版本大於v1.10.x到最新版本的公升級遷移,docker compose啟動的harbor。主要參考了官網的公升級指南,根據實際情況我稍微調整了下步驟。詳情請參考 此次測試是從版本v2.0.1公升級到v2.1.2 cd root wget2.解壓檔案到當前目錄 tar x...

當應用程式版本公升級時

在應用程式公升級時,在公升級的介面要用到的,handler handler new handler dialog.show else break case msg install apk 每部手機都已經有了安裝apk的功能 通過隱式意圖啟動安裝新的apk的介面,這個介面是android 系統自己帶的...