日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

满足 Google Play 目标 API 等级 (targetSdkLevel) 的要求

發布時間:2024/9/21 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 满足 Google Play 目标 API 等级 (targetSdkLevel) 的要求 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從 2018 年 8 月起,所有向 Google Play 提交的新應用都必須針對 Android 8.0 (API 等級 26) 開發。2018 年 11 月起,所有 Google Play 的現有應用更新同樣必須針對 Android 8.0。

Android 每次版本更新都會作出變更,顯著提升應用安全性以及性能并改善整體用戶體驗。其中部分變更僅適用于那些通過 manifest 文件中的 targetSdkVersion 屬性 (即目標 API 等級) 明確指出支持新版 API 行為的應用。

請將您的應用目標 API 等級設置為最新版本并確保用戶能夠享用這些改進項目,同時允許應用在低版本 Android 仍舊可以運行。適配新目標等級后,應用可以利用 Android 平臺最新功能 (latest features) 給用戶創造更美好的體驗。

本文重點說明了開發者在更新目標 API 中應該注意的幾個事項,從而滿足 Google Play 的要求。在進行下一步前,請根據您的 app 現有 API 等級閱覽:

  • 早于 Android 5.0 (API 等級 21)

  • 早于 Android 6.0 (API 等級 23)

  • 早于 Android 7.0 (API 等級 24)

  • 早于 Android 8.0 (API 等級 26)

注意:如果您的 gradle 文件包含 manifest 條目,您可確認或者更改文件中 targetSdkVersion 的當下值,詳情請閱覽《如何配置您的構建》(Configure Your Build)。或者說,您也可以使用 manifest 文件中的 android:targetSdkVersion 配置項,具體操作請閱覽 <uses-sdk> manifest 屬性的相關文檔。


早于 Android 5.0 (API 等級 21)

請根據 API 版本閱覽相應的《行為變更》頁面,確保您的應用能夠順利應對各個版本發布:

  • Android 5.0 (API 等級 21)

  • Android 4.4 (API 等級 19)

  • Android 4.1 x (API 等級 16)


早于 Android 6.0 (API 等級 23)

下文列舉內容適用于針對 Android 6.0 或更高版本平臺開發的應用:

  • 在運行時請求權限

- 危險權限只可以在運行時被授予。應用的 UI 流必須提供相應可供性向用戶請求這些權限;

- 但凡可能,您的應用要準備好應對權限請求被拒的情況。譬如說,如果某個用戶拒絕您的應用訪問設備 GPS,應用須通過其它方法繼續運行。

要了解 Android 6.0 (API 等級 23) 的詳細變更,請閱覽該版本的《行為變更》(Behavior Changes) 文檔。


早于Android 7.0 (API 等級 24)

下文列舉內容適用于針對 Android 7.0 或更高版本平臺開發的應用:

  • Doze 以及應用待機模式:

請根據《Doze 以及應用待機模式優化》一文中的相關描述設計您的 app,文章涵蓋適用幾個 Android 版本的逐步變更。

當設備進入 Doze 或者待機模式時,會產生下述系統行為:

- 網絡訪問限制;

- 推遲應用的 alarms、syncs 和 jobs;

- GPS 以及 Wi-Fi 掃描限制;

- 普通優先級 Firebase Cloud Messaging 消息限制;

  • 權限變更

- 系統將限制訪問應用私有目錄;

- 在應用外公開 file://URI會導致 FileUriExposedException。開發者可以使用 FileProvider 在應用間進行文件共享;

  • 系統阻止應用鏈接非 NDK 庫。

要了解 Android 7.0 (API 等級 24) 的詳細變更,請閱覽該版本的《行為變更》(Behavior Changes) 文檔。


早于 Android 8.0 (API 等級 26)

下文列舉內容適用于針對 Android 8.0 或更高版本平臺開發的應用:

  • 后臺執行限制 (Background Execution Limits)

- 若您的應用不運行在前臺,系統將會限制服務:

·· 當應用試圖調用 startService() 而 startService 又被禁止時,startService() 會拋出異常;

·· startForegroundService() 應用必須使用 startForeground()和 startForegroundService() 函數啟動前臺服務;

·· 請前往 Android 8.0 (API 等級 26) 《行為變更》頁面,仔細閱讀關于 JobScheduler API 的變更;

·· Firebase Cloud Messaging 要求 10.2.1 或更高版本的 Google Play 服務 SDK;

·· Firebase Cloud Messaging documentation 在使用 Firebase Cloud Messaging 時,消息投遞受限于后臺執行限制。若消息接收需要必要后臺工作,如后臺數據同步,您的應用須要通過 Firebase Job Dispatcher 或者 JobIntentService 調度任務。詳情請閱覽《Firebase Cloud Messaging 文檔》。

- 隱式廣播限制:

·· 系統會限制隱式廣播。有關處理后臺事件詳情,請閱讀JobSechduler API 文檔;

·· 后臺位置限制;

·· 后臺運行的應用訪問位置數據受限;

支持 Google Play 服務的設備可以通過 fused location provider 定期獲取位置更新。

  • 通知渠道

- 您應該為每個渠道分別定義通知中斷設特性:

·· 您必須將通知分配到某一渠道 (channel),以便通知顯示;

·· 該版本 Android 平臺支持 NotificationCompat.Builder;

  • 隱私

- ANDROID_ID 會根據每個應用簽署密鑰確定作用域。

要了解 Android 8.0 (API 等級 26) 的詳細變更,請閱覽該版本的《行為變更》(Behavior Changes) 文檔。

查看更多指導文檔鏈接


現代化您的應用

當您在更新應用目標 API 等級時,請考慮應用平臺近期發布的新功能,讓您的應用更為現代化并為用戶帶去更好的體驗。

  • 請將您的 app 從 Google Cloud Messaging (GCM) 遷移至 Firebase Cloud Messaging 最新版本;

  • 使用高級窗口管理:

- Declare Restricted Screen Support 支持更大寬屏比率 (大于 16:9),讓應用能夠利用最新的硬件技術。確保您的應用調整大小后能填充可用的屏幕空間。萬不得已情況下,可以聲明最大屏幕寬高比。更多有關最大屏幕寬高比信息,請閱覽《聲明受限屏幕支持》;

- multiple displays 添加多窗口支持,提升 app 效率并管理多屏幕適配;

- 如果最小化應用能夠幫助您改善用戶體驗,您可添加畫中畫支持;

- 針對凹口屏幕設備的優化:

·· 不要假定狀態欄高度,而是使用 WindowInsets 以及View.OnApplyWindowInsetsListener;

·· 不要假定應用是全屏顯示的,而是通過調用View.getLocationInWindow() (注意:不是View.getLocationOnScreen()) 來確定應用屏幕位置;

·· 在處理 MotionEvent 時,調用 MotionEvent.getX() 和MotionEvent.getY();而非 MotionEvent.getRawX() 或MotionEvent.getRawY();

  • 使用現代攝像頭支持:

- 使用 Camera2 API 最大化攝像頭利用率;

- Pixel 2 devices 在 Pixel 2 設備上啟用 Pixel Visual Core 加速 HDR+ 處理。

檢查并更新您的 SDK 和庫

請確保您使用的三方 SDK 依賴項支持 API 26:部分 ADK 供應商會在發布說明中寫明是否支持;其它供應商則須要進一步調查。如果您使用的 SDK 不支持 API 26,請盡快與 SDK 供應商合作解決該問題。

此外,請注意您的應用或者游戲中的 targetSdkVersion 可能會限制訪問私有 Android 平臺庫,請閱覽《將 NDK 應用鏈接至平臺庫》獲取進一步信息。

您還須要驗證您正在使用的 Android 支持庫可能存在的任何限制。和以往一樣,您必須確保應用中的 compileSdkVersion 與 Android 支持庫主要版本能夠順利兼容。

我們推薦您選擇小于或等于 Support Library 主要版本的 targetSdkVersion ,并建議您升級到近期發布的兼容 Support Library,從而能夠使用到最新版本的兼容性特性和錯誤修正功能。

?查看更多指導文檔鏈接

測試您的應用

在更新完應用的 API 等級和功能后,您須要測試一些核心用例。下文列舉的幾條建議并沒有涵蓋所有情況,但希望能給您提供指導作用。我們建議進行以下幾個方面的測試:

  • 測試應用兼容 API 26, 不產生錯誤和警告;

  • 您的應用應該有相應策略來妥善應對用戶拒絕訪問權限的情況,并提示用戶授予權限。為了達到該效果,您須要:

- 前往應用的信息頁面,然后拒絕每個權限;

- 開啟應用,確保沒有崩潰;

- 進行核心用例測試,并確保所有必須權限請求再被顯示;

  • 妥善應對 Doze 模式,達到預期效果且不導致錯誤:

- 在應用運行時,使用 adb 讓您的測試設備進入 Doze 模式:

·· 測試任何觸發 Firebase Cloud Messaging 消息的用例;

·· 測試任何需要使用鬧鐘或者任務用例;

·· 消除所有后臺服務依賴;

- 設置您的應用進入待機模式:

·· 測試任何觸發 Firebase Cloud Messaging 消息的用例;

·· 測試任何需要使用鬧鐘的用例;

  • 處理新拍攝的照片以及視頻:

- 檢查您的應用是否妥善處理 ACTION_NEW_PICTURE 以及 ACTION_NEW_VIDEO 廣播限制 (即移動至 JobScheduler 任務);

- 確保任何依賴此類事件的重要用例都能順利運行;

  • 應用間分享文件:

- 請測試所有涉及到應用間分享文件數據的案例 (即使是同一開發者開發的應用);

- 請測試其它應用是否能夠成功顯示內容,而且不引發崩潰。


總結

以上是生活随笔為你收集整理的满足 Google Play 目标 API 等级 (targetSdkLevel) 的要求的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。