【Google Play】APK 扩展包 ( 2021年09月02日最新处理方案 | 扩展文件名格式 | 扩展文件下载存放地址 )
文章目錄
- 前言
- 一、當(dāng)前 Google Play 上傳 APK 文件現(xiàn)狀
- 二、APK 擴(kuò)展文件名格式
- 三、APK 擴(kuò)展文件下載地址
- 四、博客資源
前言
2021年08月01日 之后 , Google 開始強(qiáng)制新應(yīng)用必須使用 AAB 格式 的包 , 舊的應(yīng)用仍可以使用 APK 格式的安裝包 ;
目前 Google 不推薦使用 APK 包 , 連帶 APK 擴(kuò)展文件的支持也降低了 , 之前還可以動(dòng)態(tài)修改 APK 擴(kuò)展文件 , 現(xiàn)在只能在上傳 APK 文件時(shí)添加擴(kuò)展文件 ;
一、當(dāng)前 Google Play 上傳 APK 文件現(xiàn)狀
Google Play 中上傳 APK 文件大小限制到 100MB , 如果 APK 的大小超過 100MB , 則需要將超出部分放置到擴(kuò)展文件中 ;
開發(fā)者可以將超出部分 , 放在擴(kuò)展文件中 , 在 Google Play 管理中心 , 每個(gè) APK 文件都可以添加 222 個(gè)擴(kuò)展文件 , 每個(gè)擴(kuò)展文件最大 2 GB ;
222 個(gè)擴(kuò)展文件中 , 一個(gè)是 " 主擴(kuò)展文件 " , 另外一個(gè)是 " 補(bǔ)丁擴(kuò)展文件 " ;
補(bǔ)丁擴(kuò)展文件 是可選項(xiàng) , 用于為 主擴(kuò)展文件 提供更新 , 可以不添加 ;
目前的 Google Play 管理中心中 , 擴(kuò)展文件只能添加新的 APK 版本時(shí)添加 , 不能在上線后額外添加 ;
二、APK 擴(kuò)展文件名格式
APK 文件的格式可以是任意格式的文件 , 不過一般都采用 zip 或 7z 壓縮格式 , 極限壓縮到最小 ;
Google 重構(gòu)后的 APK 擴(kuò)展文件名稱都會(huì)是如下格式 :
[main|patch].<expansion-version>.<package-name>.obbAPK 擴(kuò)展文件的文件名分為 333 部分 :
- [main|patch] : 如果是 主擴(kuò)展文件 , 是 main ; 如果是 補(bǔ)丁擴(kuò)展文件 是 patch ;
- <expansion-version> : 這是當(dāng)前 APK 的版本號(hào) , 在 Module 下的 build.gradle 的 android.defaultConfig.versionCode 中定義 ;
- <package-name> : 是應(yīng)用的包名 , 如 com.example.app ;
- obb : obb 是 Opaque Binary Blob 的縮寫 ;
不管上傳到 Google Play 管理平臺(tái) 中是什么名稱的文件 , 下載下來的文件都會(huì)是上述格式的 ;
如 : 當(dāng)前的 APK 版本號(hào)是 666 , 當(dāng)前是 主擴(kuò)展文件 , 文件包名是 com.example.app , 則 主擴(kuò)展文件 的名稱是
main.6.com.example.app.obb當(dāng)前的 APK 版本號(hào)是 188188188 , 當(dāng)前是 補(bǔ)丁擴(kuò)展文件 , 文件包名是 com.example.app , 則 補(bǔ)丁擴(kuò)展文件 的名稱是
patch.188.com.example.app.obb三、APK 擴(kuò)展文件下載地址
從 Google Play 下載 APK 文件時(shí) , 會(huì)同時(shí)下載 APK 擴(kuò)展文件到
<shared-storage>/Android/obb/<package-name>/目錄中 , 注意該文件不能刪除 , 移動(dòng) , 重命名 , 啟動(dòng)應(yīng)用時(shí) , Android 系統(tǒng)會(huì)自動(dòng)檢查該 APK 擴(kuò)展文件是否存在 , 如果不存在 , 會(huì)自動(dòng)從 Google Play 中下載 , 如果 Google 發(fā)現(xiàn)該文件不存在 , 即使已經(jīng)下載完了 , 還要重新下載一遍 , 浪費(fèi)流量 ; 該文件就在這放著不動(dòng) ;
<shared-storage> 是 SD 卡根目錄 ;
<package-name> 是應(yīng)用的包名 ;
下載完之后 , 可以將該文件解壓到 內(nèi)置存儲(chǔ) / SD 卡 中 , 不過這樣就會(huì)導(dǎo)致一個(gè)文件始終占用兩份存儲(chǔ)空間 ;
Google 給出的方案是使用 Google 提供的 APK Expansion Zip Library 庫 , 可以直接從 ZIP 壓縮文件中讀取文件 ; 這個(gè)庫看情況吧 , 我要在 NDK 中讀取文件 , 好像用不了 ;
四、博客資源
相關(guān)文檔參考 :
-
APK 擴(kuò)展文件 : https://developer.android.google.cn/google/play/expansion-files
-
Google Play 添加或測(cè)試 APK 擴(kuò)展文件 : https://support.google.com/googleplay/android-developer/answer/2481797?hl=zh-Hans
-
新版本 Google Play 控制臺(tái)添加 APK 擴(kuò)展文件 : https://www.codenong.com/14015134/
總結(jié)
以上是生活随笔為你收集整理的【Google Play】APK 扩展包 ( 2021年09月02日最新处理方案 | 扩展文件名格式 | 扩展文件下载存放地址 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java 虚拟机原理】栈帧 | 动态链
- 下一篇: 【Java 虚拟机原理】堆区 | Jav