專案地址:Github
當我在做Android 版本適配工作的時候很痛苦,那個時候我在想有沒有一個文檔,將所有的關於Android 版本適配資料全部收集起來,這樣就不需要在網上東找西找了,這樣就能把時間和精力投入適配工作中,每當一個新的Android 版本發布的時候,這個想法越加強烈,終於在Android 11 剛發布的時候籌劃了這件事情,最終趕在Android 12剛發布的時候完成了,整個過程耗時非常漫長,因為我正在不斷收集優質的資料,同時我也在不斷思考,什麼樣的適配文檔才是大家所需要的,我將適配文檔簡單劃分成了以下幾部分:
官方文檔
新特性
行為變更
相關資源
適配文章鏈接
適配框架鏈接
為什麼要把這個做成開源專案?因為我會不斷更新,同時歡迎大家如果有好的文章也可以透過issue 推薦給我,我審核通過之後會放上去,做好一個開源專案需要大家的添磚加瓦,開源是一個互幫互助的過程,沒有大家的支持我很難做好它。
Android 14
為例子,第一步將主模組中的build.gradle
檔案中修改targetSdkVersion
和compileSdkVersion
這兩個的值android {
compileSdkVersion 34
defaultConfig {
......
targetSdkVersion 34
}
}
if ( Build . VERSION . SDK_INT >= Build . VERSION_CODES . UPSIDE_DOWN_CAKE ) {
......
} else {
......
}
if ( context . getApplicationInfo (). targetSdkVersion >= Build . VERSION_CODES . UPSIDE_DOWN_CAKE ) {
......
} else {
......
}
到這裡,大家可能有疑問,targetSdkVersion 和compileSdkVersion 有啥差別?
targetSdkVersion:目標適配版本,告知系統App 適配的情況,如果應用的targetSdkVersion 比系統版本要低,那麼在一些新功能上新系統會做向下兼容性處理,如果我們想要適配某個Android版本,必須將targetSdkVersion 調整到這個版本等級之上,否則在某些機型上面可能會出現一些適配異常的情況。如果我們只是簡單調高了targetSdkVersion 等級而沒有適配新版本的特性,那麼應用在新系統上可能會出現功能異常的情況,一般情況表現為應用崩潰或獲取不到資料。
compileSdkVersion:編譯原始碼版本,我們可以透過修改這個版本等級來改變我們在程式碼中所看到的Android SDK 原始碼的版本,同時也決定了編譯器在進行程式碼檢查時所使用的版本。
最後附上Android 版本資訊對應表
Android 版本 | API 等級 | 版本代號 | 市佔率 | 發佈時間 |
---|---|---|---|---|
Android 14 | 34 | UPSIDE_DOWN_CAKE | 暫無數據 | 2023 年10 月10 日 |
Android 13 | 33 | TIRAMISU | 30.33% | 2022 年8 月16 日 |
Android 12L | 32 | S_V2 | 暫無數據 | 2022 年3 月9 日 |
Android 12 | 31 | S | 20.58% | 2021 年10 月4 日 |
Android 11 | 30 | R | 19.98% | 2020 年9 月9 日 |
Android 10 | 29 | Q | 9.27% | 2019 年9 月3 日 |
Android 9.0 | 28 | P | 8.61% | 2018 年8 月7 日 |
Android 8.1 | 27 | O_MR1 | 2.78% | 2017 年12 月5 日 |
Android 8.0 | 26 | O | 3.21% | 2017 年8 月22 日 |
Android 7.1 | 25 | N_MR1 | 0.61% | 2016 年12 月5 日 |
Android 7.0 | 24 | N | 1.88% | 2016 年8 月22 日 |
Android 6.0 | 23 | M | 1.64% | 2015 年9 月29 日 |
Android 5.1 | 22 | LOLLIPOP_MR1 | 0.98% | 2015 年3 月10 日 |
Android 5.0 | 21 | LOLLIPOP | 0.53% | 2014 年10 月15 日 |
Android 4.4 | 19 | KITKAT | 0.3% | 2013 年10 月31 日 |
市場佔用率數據更新至2023 年11 月5 日,數據統計主要參考以下連結:
Android API Levels
分發資訊中心(Google官方)
Top Android OS versions(需翻牆)
Mobile & Tablet Android Version Market Share Worldwide
Mobile Android operating system market share by version worldwide from January 2018 至 January 2022
Google Play 應用程式在目標API 層級上需滿足的需求(需要翻牆)
每個新的Android 版本都會引入一些變化,以便改善安全性和效能,並提升Android 的整體使用者體驗。每款應用的清單檔案中都有一個targetSdkVersion
參數(也稱為目標API 等級),用以告知系統您的應用程式在不同的Android 版本上分別該如何運作。
將應用程式的目標API 等級配置為新近的API 等級可確保使用者享有安全性、隱私權保護和效能方面的改進,同時仍允許應用程式在較低版本的Android(低至minSdkVersion
)上運作。
為了提供Android 和Google Play 用戶安全可靠的使用體驗,Google Play 要求所有應用程式在目標API 層級方面都必須符合下列要求。
新應用 | 尚未在Play 商店中發布的應用程式(例如,全新的應用程式) |
---|---|
應用程式更新 | 已在Play 商店中發布的應用程式的新版本 |
現有應用 | 沒有獲得更新的已發布應用 |
Android 作業系統版本 | 新應用 | 應用程式更新 | 現有應用 |
---|---|---|---|
Android 13(API 等級33) | 2023 年8 月1 日 | 2023 年11 月1 日 | 2024 年11 月1 日 |
Android 12(API 等級31) | 2022 年8 月1 日 | 2022 年11 月1 日 | 2023 年11 月1 日 |
Android 11(API 等級30) | 2021 年8 月1 日 | 2021 年11 月1 日 | 2022 年11 月1 日 |
提示:如需取得技術指導以了解如何變更應用程式的目標API 等級以滿足上述要求,請參閱遷移指南。
Android 作業系統版本 | 新應用 | 應用程式更新 | 現有應用 |
---|---|---|---|
Android 11(API 等級30) | 2022 年8 月1 日 | 2022 年11 月1 日 | 無要求 |
Android 10(API 等級29) | 無要求 | 無要求 | 無要求 |
Android 9(API 等級28) | 2019 年8 月1 日 | 2019 年11 月1 日 | 無要求 |
應用 | 影響 |
---|---|
新應用 | 您將無法在Play 管理中心發布不符合目標API 等級要求的app bundle。 |
應用程式更新 | 您將無法在Play 管理中心提交不符合目標API 等級要求的app bundle 或APK。 |
現有應用 | 如果新用戶的裝置搭載的Android 作業系統版本高於您的應用程式的目標API 級別,那麼這類用戶將無法在Google Play 上取得您的應用程式。也就是說,這類新用戶將無法從Google Play 中發現或安裝您的應用程式。先前從Google Play 中安裝過這款應用程式的用戶仍可以發現、重新安裝和使用它。這類現有用戶即使換用新的Android 設備,仍可使用您的應用程式。 |
Android 14.0
Android 13.0
Android 12.0 / 12L
Android 11.0
Android 10.0
Android 9.0
Android 8.0 / 8.1
Android 7.0 / 7.1.1
Android 6.0
Android 5.0 / 5.1
Android 4.4
國際化
各應用語言偏好設定
語法變化API
地區偏好設定
無障礙
使用者體驗
Sharesheet 自訂操作和經過改進的排名系統
支援內建和自訂預測性返回動畫
針對應用程式商店的改進
偵測使用者何時截取裝置螢幕截圖
圖形
核心功能
針對所有應用的行為變更
核心功能
預設拒絕設定精確的鬧鐘
當應用程式進入快取時,上下文註冊的廣播將加入佇列
應用程式只能終止自己的背景進程
安全
最低可安裝的目標API 級別
媒體所有者軟體包名稱可能會隱去
使用者體驗
授予對照片和影片的部分存取權限
安全的全螢幕intent 通知
關於不可關閉通知使用者體驗方式的變更
資料安全資訊更顯眼
無障礙
針對targetSdkVersion 34+ 應用的行為變更
核心功能
接待櫃檯服務類型是必填項
OpenJDK 17 更新
安全
對隱式intent 和待處理intent 的限制
在運行時註冊的廣播接收器必須指定匯出行為
更安全的動態程式碼加載
壓縮路徑遍歷
針對從背景啟動activity 的其他限制
更新後的非SDK 限制
Android 14 首個開發者預覽版到來
即時體驗| Android 14 開發者預覽版2
Android 14 Beta 版發布,穩定提升與亮點並存
多采多姿| Android 14 Beta 2 發布
平台穩定性里程碑| Android 14 Beta 3 發布
發布更新的好時機| Android 14 Beta 4 發布
正式版即將推出| Android 14 Beta 5 發布
最新版發布| Android 14 現已正式發佈至AOSP!
適配簡介
Android 14 適配的那些事情
Android 14 快速適配要點
狂飆! Android 14 第一款預覽版已發布~
Android 14 又來了?別扶!抬起我來吧!
深度解讀Android 14 重要的8 個新特性~
Android14 適配之-targetSdkVersion 升級到34 要注意些什麼?
Android 14 正式發布,已經在AOSP 上線,快來看看有什麼吧
Android 14 的8 個重要新特性深度解析
Android14 適配之-現有App 安裝到Android14 手機上需要注意什麼?
捲起來,開始適配Android 14
Android 14(U) Gradle 8.x JDK 17 適配攻略
Android 14 徹底終結大廠流氓應用
Android 14 正式版適配筆記(一)— 所有應用程式的變更
Android 14 正式版適配筆記(二)— 針對Android14或更高版本應用的變更
Android14 應用相容性問題報告
廠商適配指南
OPPO 開放平台- Android 14 應用相容性適合指導
VIVO 開放平台- Android 14 開發者適配文檔
小米開放平台- Android 14 應用適配指南
其他適配
Android 14 權限適配方案
Android 14 新增權限
Android 14 新API:直接監聽截圖操作,不用再觀察媒體檔案了~
Android 14 新功能:區域偏好Regional Preferences
Android 14 新功能:語法性別Grammatical Gender
Android 14 之返回介面升級:預覽目標介面+ 全新返回箭頭
Android 14 新功能之TextView 搜尋結果高亮與焦點移動
Android 14 新功能之HighLights:快速實現文字高亮~
勸學:Android 14 Framework 引進了哪些「新」技術棧
Android 14 接待櫃檯服務適配指南
陪伴了14 年的API 下線了
開發者工作效率與工具
帶有主題的應用圖標
各應用語言偏好設定
改進了文本和語言支持
彩色向量字體
Quick Settings Placement API
剪貼簿預覽
預測性返回手勢
藍牙LE 音訊
MIDI 2.0
提高了啟動畫面效率
隱私權和安全
更安全地匯出上下文註冊的接收器
照片選擇器
針對附近Wi-Fi 設備的新運行時權限
使用精確鬧鐘的新權限
開發者可降級權限
APK 簽章方案v3.1
改進了金鑰庫和KeyMint 中的錯誤報告功能
平板電腦和大螢幕設備支持
圖形
可編程的著色器
改良了Choreographer
媒體
無障礙功能
核心功能
針對所有應用的行為變更
性能和電池
前台服務(FGS) 任務管理器
使用JobScheduler 改進預提取作業處理
電池資源利用率
高優先權Firebase Cloud Message (FCM) 配額
隱私權
通知的運行時權限
從剪貼簿中隱藏敏感內容
安全性
intent 過濾器會屏蔽不符的intent
停止使用共享用戶ID
使用者體驗
核心功能
針對targetSdkVersion 33+ 應用的行為變更
隱私權
通知權限會影響前台服務的顯示
針對附近Wi-Fi 設備的新運行時權限
細化的媒體權限
在背景使用身體感應器需要新的權限
性能和電池
使用者體驗
衍生自PlaybackState 的媒體控件
應用程式顏色主題會自動套用至WebView 內容
Google Play 服務
更新後的非SDK 限制
Android 13 首個開發者預覽版到來
Android 13 Beta 版發布,許多亮點不容錯過
歡迎體驗| Android 13 開發者預覽版2
平台穩定性里程碑| Android 13 Beta 3 發布
正式版即將推出| Android 13 Beta 4 現已發布
最新版發布| Android 13 現已正式發佈至AOSP!
適配簡介
Android 12 還沒用上,Android 13 已經來了!
Android 13 適配指南
安卓13來了,快!扶起我來!
Android 13 適配嚐鮮
Android 13(T) 適配
Android 13 正式版發布
行動開發前沿| Android13,看這篇就夠了!
推文解讀Android13,發布《Android13適配指南》
廠商適配指南
OPPO 開放平台- Android 13 應用相容性適合指導
VIVO 開放平台- Android 13 應用適配指南
小米開放平台- Android 13 應用適配指南
其他適配
Android 13 權限適配方案
Android 13 針對Intent filters 安全性的再加強
Android 13 返回導航大變更:返回鍵徹底廢棄+ 可預見型返回手勢
Android 13 新的換行策略與針對日文的最佳化
前台服務管理員:如何手動在Android 13 上「殺死」一個應用
Android 13 媒體權限適配指南
微信SDK - Android 13-可能的問題適配
Android 12.0 新特性
使用者體驗
Material You
微件改進
富媒體內容插入
應用程式啟動畫面API
圓角API
富觸感回饋體驗
AppSearch
遊戲模式
畫中畫(PiP) 改進
允許按來電重要性排名的新通話通知
通知的豐富圖片支持
沉浸模式的手勢導航改進
近期網址分享(僅限Pixel)
安全和隱私設置
隱私資訊中心
藍牙權限
權限群組查找
隱藏應用程式疊加視窗
已知簽名者權限保護標誌
設備屬性認證
安全鎖定畫面通知操作
BiometricPrompt 的可本地化字串
即時通訊應用程式中的釣魚式攻擊偵測功能(僅限Pixel)
媒體
相容的媒體轉碼
性能等級
視訊編碼改進
音訊焦點
MediaDrm 更新
相機
Camera2 供應商擴展
Quad Bayer 攝影機感測器支援
圖形和圖片
讓應用程式能夠直接存取Tombstone 追蹤記錄
AVIF 圖片支持
更簡單的模糊處理、色彩濾鏡及其他效果
原生動畫圖片解碼
連接性
使配套應用程式保持喚醒狀態
配套設備管理器設定檔
頻寬估測改進
Wi-Fi 感知(NAN) 增強功能
並發點對點+ 網路連接
為NFC 付款啟用螢幕關閉
儲存
核心功能
自動更新應用
設備晶片組資訊
核心Java API 的更新
微件改進
企業版的新變化
Android 12L 功能與變更
針對大螢幕設備優化了作業系統
強大直覺的多工處理功能
改善了相容性體驗
針對大螢幕裝置的更多更新和資源
大螢幕裝置上Google Play 的變化
使用Jetpack WindowManager 嵌入activity
設備螢幕方向請求
讓您的應用程式做好準備
針對所有應用的行為變更
使用者體驗
滾動效果
前台服務通知用戶體驗延遲
沉浸模式的手勢導航改進
網路intent 解析
限制性應用待機模式儲存分區
Display#getRealSize 和getRealMetrics:廢棄和沙盒
圖形和圖片
安全和隱私設置
麥克風和攝影機切換開關
麥克風和攝影機指示標誌
應用程式無法關閉系統對話框
不受信任的觸摸事件被屏蔽
權限軟體包可見性
移除了Bouncy Castle 實現
剪貼簿訪問通知
連接性
更新後的非SDK 介面限制
針對targetSdkVersion 31+ 應用的行為變更
使用者體驗
畫中畫行為改進
自訂通知
Android App Links 驗證的變更
隱私設定
大致位置
應用休眠
移動感測器有取樣率限制
資料存取審核
WebView 中的現代SameSite Cookie
ADB 備份限制
安全
更安全的元件導出
盡可能創建不可變的待處理intent
不安全的intent 啟動
效能
前台服務啟動限制
精確的鬧鐘權限
通知trampoline 限制
備份和復原
連接性
並發點對點+ 網路連接
為NFC 付款啟用螢幕關閉
供應商庫
更新後的非SDK 限制
一起看I/O | Android 12 Beta 版發布,諸多亮點不容錯過
更進一步| Android 12 Beta 2 發布
終版API 正式到來| Android 12 Beta 3 發布
平台穩定性里程碑| Android 12 Beta 4 現已發布
正式版即將推出| Android 12 Beta 5 現已發布
Android 12 正式發表| 開發者們的全新舞台
新版本系統適配: Android 12 中的相容性變更
適配簡介
Android 12 適配簡介
Android 12 快速適配要點
來了! Android 12 適配你準備好了嗎?
還沒適配Android 12 的要抓緊了
TargetsdkVersion 升級31(Android12)適配
Android 12 保母級適配指南
Android Target 31 升級全攻略- 記阿里首個超級App 的坎坷升級之路
Android 12 適配-行為變更:所有應用
Android 12 適配-行為變更:以Android 12 為目標平台的應用
您有一份安卓12 適配攻略,請注意查收!
廠商適配指南
OPPO 開放平台- Android 12 應用相容性適合指導
VIVO 開放平台- Android 12 應用適配指南
小米開放平台- Android 12 應用適配指南
SplashScreen 適配
從Jetpack SplashScreen 深度探討App 啟動畫面的前世今生~
Jetpack 新成員SplashScreen:打造全新的App啟動畫面
Android 12 SplashScreen API 快速入門
Jetpack SplashScreen API 在所有Android 系統上使用總結,內含原理分析
Android 12 啟動畫面-SplashScreen
Android 12 上全新的應用程式啟動畫面,還不適配一下?
用SplashScreen 做一個會動的開屏!
Android SplashScreen API:打造引人注目的啟動畫面
桌面小組件適配
更新您的widget 以適配Android 12
Android 12 上煥然一新的小組件:美觀、便利和實用
別再羨慕蘋果的小部件了,安卓也有!
exported 屬性適配
Android 12 新特性android:exported 屬性
Android 12 自動適配exported 深入解析避坑
寫了一個適配Android12-exported 的小型插件
The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
Android 12 L 適配
詳解Android 12L|更好地適配大型螢幕設備
正式版API 確定| Android 12L Beta 1 發布
Android 與Chrome OS 中針對大螢幕裝置的更新
其他適配
Android 12 藍牙適配攻略
Android 12 藍牙權限適配方案
Android 12 實用更新:置灰的控制也可以點選啦
Android 12 TransactionTooLargeException 問題
高德地圖- Android 12 定位權限說明
百度地圖- Android 12.0 開發須知
支援Android 12,全版本儲存圖片到相簿方案
隱私權變更 | 受影響的應用 | 緩解策略 |
---|---|---|
強制執行分區儲存機制以Android 11 或更高版本為目標平台的應用程式始終會受分區儲存行為的影響 | 以Android 11 或更高版本為目標平台的應用,以及以Android 10 為目標平台且未將requestLegacyExternalStorage 設為true 以停用分區儲存的應用 | 更新您的應用程式以使用分區儲存空間詳細了解分區儲存變更 |
單次授權使用單一授權功能,使用者可以授予對位置資訊、麥克風和攝影機的臨時存取權限 | 在Android 11 或更高版本上運行且請求位置資訊、麥克風或相機權限的應用 | 在嘗試存取受某項權限保護的資料之前,請檢查您的應用程式是否具有該權限遵循請求權限方面的最佳做法 |
自動重置權限如果使用者在Android 11 或更高版本上幾個月未與應用程式互動,系統會自動重置應用程式的敏感權限 | 以Android 11 或更高版本為目標平台且在背景執行大部分工作的應用 | 請使用者阻止系統重置應用程式的權限詳細了解自動重置權限 |
後台位置資訊存取權限Android 11 更改了使用者向應用程式授予後台位置資訊權限的方式 | 以Android 11 或更高版本為目標平台且需要在背景存取位置資訊的應用 | 透過對權限請求方法的多次單獨調用,逐步請求在前台(粗略或精確)和後台訪問位置資訊的權限。必要時,說明使用者授予該權限所能得到的益處詳細了解Android 11 中的在背景存取位置資訊的權限 |
軟體包可見性Android 11 更改了應用程式查詢同一裝置上的其他已安裝應用程式及與之互動的方式 | 以Android 11 或更高版本為目標平台且與裝置上的其他已安裝應用程式互動的應用程式 | 將<queries> 元素新增至應用程式的清單詳細了解軟體包可見性 |
前台服務Android 11 更改了前台服務存取位置資訊、攝影機和麥克風相關資料的方式 | 在Android 11 或更高版本上運行且在前台服務中存取位置資訊、相機或麥克風的應用 | 分別針對需要存取攝影機和麥克風的前台服務,聲明camera 和microphone 前台服務類型。但請注意,應用程式在背景運行時啟動的前台服務通常無法存取位置資訊、攝影機或麥克風。 詳細了解前台服務的變更 |
在您的應用程式中新增5G 功能
強制門戶API 支援
安全共享大型資料集
聯絡人與對話
訊息框
控制外部設備
將自動填充功能與鍵盤集成
針對所有應用的行為變更
隱私權
單次授權
權限對話框的可見性
資料存取審核
系統提醒視窗權限
永久SIM 卡識別符
接觸史通知
安全性
SSL 套接字預設使用Conscrypt SSL 引擎
Scudo Hardened Allocator
應用使用情況統計信息
針對5G 的模擬器支持
效能和調試
JobScheduler API 呼叫限制調試
檔案描述符排錯程式(fdsan)
非SDK 介面限制
V1 版Google 地圖分享庫已移除
與其他應用程式交互
針對targetSdkVersion 30+ 應用的行為變更
隱私權
強制執行分區存儲
自動重置權限
在背景存取位置資訊的權限
軟體包可見性
安全
堆指針標記
訊息框的更新
網路連線
無障礙服務
在清單檔案中聲明與TTS 引擎的交互
在元資料檔案中聲明「無障礙」按鈕使用情況
相機
應用程式打包和安裝
壓縮的資源文件
現在需要APK 簽章方案v2
Firebase
設備到設備文件傳輸
OnSharedPreferenceChangeListener 的回呼變更
非SDK 介面限制
適配簡介
Android 11 開發者手冊
拖不得了,Android11真的要來了,最全適配實踐指南奉上
Android 11 變更及適配攻略
實戰Android 升級目標版本到30 過程中遇到的問題及解決方法
廠商適配指南
OPPO 開放平台- Android 11 應用相容性適合指導
VIVO 開放平台- Android 11 應用適配指南
小米開放平台- Android 11上第三方App讀寫檔API標準建議
Android/data 目錄適配
Android 11 無Root 存取data 目錄實作、Android 11 存取data 目錄、Android 11 解除data 目錄限制、Android 11 data 空白解決
知乎回答:如何評價在Android11 中,/Android/data 資料夾無法讀寫?
Android 11 適配- 實作清理其他應用程式快取目錄
其他適配
Android 11 外部儲存權限適配指南及方案
Android 11 繞過反射限制
Android 11 軟體包可見性適配
Android 11 特性調整:安裝外部來源應用程式需要重啟APP
Android 11 無法在背景顯示自訂樣式Toast 的適配方案
微信開放平台- Android 11 系統策略更新
文字轉語音TTS 開發Android11 適配方案
隱私權變更 | 受影響的應用 | 緩解策略 |
---|---|---|
分區儲存針對外部儲存的過濾視圖,可提供對特定於應用的檔案和媒體集合的存取權限 | 存取和共享外部儲存中的文件的應用 | 使用特定於應用的目錄和媒體集合目錄了解詳情 |
增強了使用者對位置權限的控制力僅限前台權限,可讓使用者更好地控制應用對設備位置資訊的存取權限 | 在後台時請求存取用戶位置資訊的應用 | 確保在沒有後台位置資訊更新的情況下優雅降級使用Android 10 中引入的權限在後台獲取位置資訊以了解詳情 |
系統執行後台Activity針對從後台啟動Activity 實施了限制 | 不需要使用者互動就啟動Activity 的應用 | 使用通知觸發的Activity 了解詳情 |
不可重置的硬體識別碼針對存取設備序號和IMEI 實施了限制 | 存取設備序號或IMEI 的應用 | 使用使用者可以重置的識別碼了解詳情 |
無線掃描權限存取某些WLAN、WLAN 感知和藍牙掃描方法需要精確位置權限 | 使用WLAN API 和藍牙API 的應用 | 針對相關使用場景請ACCESS_FINE_LOCATION 權限了解詳情 |
折疊螢幕
5G 網路
通知欄訊息回复
深色主題
手勢導航
設定面板
共享快捷方式
針對所有應用的行為變更
限制非SDK 接口
手勢導航
NDK
Bionic 庫和動態連結器路徑變更
系統二進位/函式庫會映射到只執行內存
安全
TLS 1.3 預設為啟用狀態
TLS 不信任使用SHA-1 簽署的憑證
KeyChain 行為變更與改進
其他TLS 和加密更改
WLAN 直連廣播
WLAN 感知功能
Go 裝置上的SYSTEM_ALERT_WINDOW
關於以舊版Android 系統為目標平台的應用的警告
移除了SHA-2 CBC 加密套件
應用程式使用情況
HTTPS 連線變更
ZIP 檔案公用程式庫變更
Inflater
ZipFile
ZipOutputStream
網路攝影機變更
電池用量追蹤
Android Beam 已棄用
針對targetSdkVersion 29+ 應用的行為變更
有關限制非SDK 介面的更新
共享記憶體
移除了應用程式主目錄的執行權限
Android 運行時只接受系統產生的OAT 文件
在ART 中強制要求AOT 正確性
針對全螢幕Intent 的權限變更
支援可折疊設備
java.io.FileChannel.map() 更改
適配簡介
廠商適配指南
OPPO 開放平台- Android Q 版本應用相容性適配指導
VIVO 開放平台- Android Q 應用適配指南
分區儲存適配
暫時停用分區存儲
Android 儲存用例和最佳做法
Android 10(Q)/11(R) 分區儲存適配
Android 10 分區儲存適配
Android 10 適配要點,作用域存儲
Android MediaStore Api 使用
QQ SDK - 分區儲存功能適配
微信SDK - 更新OpenSDK 適配
支援Android 12,全版本儲存圖片到相簿方案
深色主題適配
Android 深色模式適配原理分析
Android 10 適配要點,深色主題
Android 深色模式的專案應用
Android 10 暗黑模式適配,你需要知道的一切
其他適配
Android 折疊螢幕適配攻略
Android 監聽系統截圖操作,適配Android Q(29)
利用Wi-Fi RTT 進行室內定位
顯示器缺口支持
通知
多攝像頭支援和攝影機更新
適用於可繪製物件和點陣圖的ImageDecoder
動畫
HDR VP9 視訊、HEIF 影像壓縮和Media API
JobScheduler 中的流量費用敏感度
Neural Networks API 1.1
自動填充框架
安全增強功能
Android 備份
無障礙功能
旋轉
文字
設備端系統追蹤
針對所有應用的行為變更
電源管理
隱私權變更
對使用非SDK 介面的限制
安全行為變更
ICU 庫更新
Android Test 變更
Java UTF 解碼器
使用憑證的主機名稱驗證
網路位址查詢可能會導致網路違規
套接字標記
報告的套接字中可用位元組數
應用不再能存取xt_qtaguid
資料夾中的文件
現在強制執行FLAG_ACTIVITY_NEW_TASK
要求
螢幕旋轉變更
Apache HTTP 用戶端棄用影響採用非標準ClassLoader 的應用
枚舉相機
針對targetSdkVersion 28+ 應用的行為變更
接待櫃檯服務
隱私權變更
框架安全性變更
預設啟用網路傳輸層安全協定(TLS)
依進程分設網路為基礎的資料目錄
網路連線變更
網路連接資料計數和多路徑
Apache HTTP 用戶端棄用
介面變更
視圖焦點
CSS RGBA 十六進位值處理
文件的MIME 類型嗅探:URI
文件捲動元素
來自已暫停應用程式的通知
適配簡介
Android 9.0 適配指南
Android 9.0適配及部分新功能介紹
廠商適配指南
VIVO 開放平台- Android P 應用適配指南
小米開放式平台- MIUI Android P 適配指南
瀏海螢幕適配
Android 瀏海螢幕適配全攻略
Android 9.0 系統新特性,對瀏海螢幕裝置進行適配
Android 瀏海螢幕適配框架(停止維護)
反射API 適配
區分SDK 介面和非SDK 介面
一種繞過Android P 對非SDK 介面限制的簡單方法
另一種繞過Android P 以上非公開API 限制的方法
隱藏API 反射框架FreeReflection
WebView 多進程適配
Android 9.0/P WebView 多過程使用的問題
有效解決WebView 多進程崩潰
Android 8.0 新特性
使用者體驗
通知
自動填充框架
畫中畫模式
可下載字體
XML 中的字體
自動調整TextView 的大小
自適應圖示
色彩管理
WebView API
固定快捷方式和小部件
最大螢幕縱橫比
多顯示器支援
統一的佈局外邊距和內邊距
指針捕獲
應用類別
Android TV 啟動器
AnimatorSet
輸入和導航
系統
視圖預設焦點
新的StrictMode 檢測程序
快取數據
內容提供者分頁
內容刷新請求
JobScheduler 改進
自訂資料存儲
findViewById 簽章變更
媒體增強功能
VolumeShaper
音訊焦點增強功能
媒體指標
MediaPlayer
音訊錄製器
音訊播放控制
增強的媒體檔案存取功能
連接
WLAN 感知
藍牙
配套設備配對
共享
智慧共享
智慧文字選擇
無障礙功能
無障礙功能按鈕
獨立的音量調整
指紋手勢
字詞級突出顯示
標準化單端範圍值
提示文字
連續的手勢分派
安全性與隱私
權限
新的帳號存取和Discovery API
Google Safe Browsing API
測試
儀器測試
用於測試的模擬Intent
運行時和工具
平台優化
更新的Java 支援
更新的ICU4J Android Framework API
Android 企業版
Android 8.1 新特性
Android Oreo(Go 版本)
Neural Networks API
自動填充框架更新
通知
EditText 更新
程式化安全瀏覽操作
影片縮圖擷取器
Shared memory API
WallpaperColors API
指紋更新
加密更新
針對所有應用的行為變更
後台執行限制
Android 後台位置限制
應用程式快速鍵
語言區域和國際化
提醒視窗
輸入和導航
網頁表單自動填充
無障礙功能
網路連接和HTTP(S) 連接
藍牙
無縫連接
安全性
隱私性
記錄未捕獲的異常
聯絡人提供程序使用統計方法的變更
集合的處理
Android 企業版
針對targetSdkVersion 26+ 應用的行為變更
提醒視窗
內容變更通知
視圖焦點
安全性
帳號存取和可檢測性
隱私性
權限
媒體
原生函式庫
集合的處理
類別載入行為
適配簡介
廠商適配指南
通知通路適配
Android 通知欄微技巧,8.0 系統中通知欄的適配
建立和管理通知頻道
Android 應用圖示微技巧,8.0 系統中應用圖示的適配
透明Activity 方向適配
Android 8.0 踩坑記錄- Only fullscreen opaque activities can request orientation
Only fullscreen opaque activities can request orientation 問題及解決方案
Only fullscreen activities can request orientation 終極解決方法
"Only fullscreen opaque activities can request orientation "問題再分析
啟動後台Service 適配
Android 8.0 啟動後台service 出錯IllegalStateException: Not allowed to start service Intent
Android 8.0 + Service開啟方式相容處理
Context.startForegroundService() did not then call Service.startForeground?
Android 8.0: java.lang.IllegalStateException: Not allowed to start service Intent
畫中畫適配
Android畫中畫(PIP)全解析,踩坑紀錄
Android 原生Picture in Picture 畫中畫功能避坑指南
Android -- 系統畫中畫實作指南
如何在Android 中實現畫中畫功能
其他適配
Android 7.0 新特性
多視窗支援
通知增強功能
設定檔指導的JIT/AOT 編譯
快速的應用程式安裝路徑
隨時隨地低電耗模式
後台優化
SurfaceView
流量節省程序
Vulkan API
Quick Settings Tile API
號碼封鎖
來電過濾
多語言區域支持,更多語言
新增的表情符號
Android 中的ICU4J API
WebView
Chrome 和WebView 配合使用
多行程
Javascript 在頁面載入之前運行
不安全起點上的地理定位
測試WebView 測試版
OpenGL™ ES 3.2 API
Android TV 錄製
Android for Work
工作資料安全性挑戰
關閉工作
Always on VPN
自訂配置
無障礙增強功能
直接啟動
金鑰認證
網路安全性配置
預設受信任的憑證授權單位
APK signature scheme v2
作用域目錄訪問
鍵盤快速鍵輔助工具
Custom Pointer API
Sustained Performance API
VR 支援
列印服務增強
FrameMetricsListener API
虛擬文件
Android 7.1 新特性
應用程式快捷方式
鍵盤支援圖像
新的專業表情符號
增強的動態壁紙元數據
圓形圖示資源
儲存管理器意圖
改進的VR 執行緒調度
示範使用者提示
運營商和呼叫應用程式的API
穿戴式裝置的新螢幕密度
電池和內存
低耗電模式
後台優化
系統權限更改
在應用程式間共享文件
無障礙改進
螢幕縮放
設定精靈中的視覺設置
NDK 應用程式連結至平台庫
檢查您的應用程式是否使用私有庫
更新您的應用程式
Android for Work
註解保留
其他重要說明
適配簡介
Android 7.0 脫坑指南
Android 7.0 適配教程,心得
FileProvider適配
Android 一起來看看7.0 的新特性FileProvider
官方文檔- FileProvider 類
其他適配
Toast 在Android 7.1 崩潰中排查與修復
PopupWindow 在Android N(7.0) 的相容性問題
Android 7.0 WebView 部分機型打不開
指紋身份驗證
確認憑證
應用程式連結
自動備份應用
直接共享
語音交互
Assist API
可採用的儲存設備
通知
藍牙觸控筆支持
改良的藍牙低功耗掃描
Hotspot 2.0 第1 版支持
4K 顯示模式
主題化ColorStateList
音訊功能
視訊功能
相機功能
Flashlight API
Reprocessing API
Android for Work 功能
運行時權限
低耗電模式和應用待機模式
取消支援Apache HTTP 用戶端
BoringSSL
硬體識別碼存取權
通知
音訊管理器變更
文字選擇
瀏覽器書籤變更
Android 金鑰庫變更
WLAN 與網路連線變更
相機服務變更
運行時
APK 驗證
USB 連接
Android for Work 變更
Android 6.0 運行權限解析
官方文件- 請求應用權限
所有的Android 權限清單
Android M 的NDK 行為變更對APK 套件體積的影響
Android 5.0 新特性
使用者介面
Material Design 支持
最近使用的應用程式畫面中的並發文件和Activity
WebView 更新
螢幕擷取與分享
通知
鎖定螢幕通知
通知元數據
圖形
對OpenGL ES 3.1 的支持
Android 擴充包
媒體
用於進階相機功能的Camera API
音訊回放
媒體重播控制
媒體瀏覽
儲存
無線和連接
多個網路連線
藍牙低功耗
NFC 增強功能
Volta 專案
計劃排定作業
電池使用開發者工具
工作場所和教育領域中的Android
託管配置
設備所有者
固定螢幕
列印框架
系統
測試與輔助工具
測試與輔助工具改進
IME
清單聲明
可聲明的必備功能
使用者權限
Android 5.1 新特性
多SIM 卡支持
已棄用的HTTP 類
營運商服務
Android Runtime (ART)
通知
Material Design 樣式
聲音和振動
鎖定螢幕可見性
媒體播放
浮動通知
媒體控制和RemoteControlClient
getRecentTasks()
Android NDK 中的64 位元支持
綁定到服務
WebView
自訂權限唯一性要求
使用重複的自訂權限的應用
您的應用程式需要注意的事項
新安裝和更新
使用Android 5.0 系統更新的現有安裝
建議
TLS/SSL 預設設定變更
伺服器不支援任何已啟用的加密套件
應用對用於連接伺服器的加密套件做出錯誤的假設
伺服器不支援TLSv1.1、TLSv1.2 或新的TLS 擴展
支援託管設定檔
處理Intent
在各個設定檔中共享文件
已移除鎖定螢幕小工具支持
列印框架
列印通用內容
列印影像
建構列印服務
簡訊提供程式
無線和連接
主機卡模擬
NFC 讀取器模式
紅外線發射器
多媒體
自適應播放
音訊點播時間戳
Surface 影像讀取器
峰值和有效值(RMS) 測量
音量增強器
遙控器
從遙控器進行評分
隱藏式字幕
動畫和圖形
場景和轉場
動畫暫停
可重複使用的點陣圖
使用者內容
儲存存取框架
外部儲存空間存取
同步適配器
使用者輸入
新感測器類型
批次感應器事件
控制器身份
使用者介面
沉浸式全螢幕模式
透明系統狀態列
增強的通知偵聽器
可繪製的RTL 佈局鏡像
無障礙功能
應用權限
設備功能
外部存儲
WebView
AlarmManager
ContentResolver
Android通知還能這麼玩?
Android NotificationListenerService 的使用
Android 通知使用權(NotificationListenerService)的使用
安卓技術中台:AndroidProject
安卓技術中台Kt 版:AndroidProject-Kotlin
權限框架:XXPermissions
吐司框架:Toaster
網路框架:EasyHttp
標題列框架:TitleBar
懸浮窗框架:EasyWindow
ShapeView 框架:ShapeView
ShapeDrawable 框架:ShapeDrawable
語種切換框架:MultiLanguages
Gson 解析容錯:GsonFactory
日誌檢視框架:Logcat
嵌套滾動佈局框架:NestedScrollLayout
Android 程式碼規格:AndroidCodeStandard
Android 資源大總表:AndroidIndex
Android 開源排行榜:AndroidGithubBoss
Studio 精品插件:StudioPlugins
表情包大集合:EmojiPackage
AI 資源大總表:AiIndex
省市區Json 資料:ProvinceJson
Markdown 語法文檔:MarkdownDoc
Copyright 2021 Huang JinQun
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.