使用apkanalyzer它可以從生成的 APK / AAB 中找出多種屬性,例如檔案大小,與另一個 APK 進行比較以獲取檔案大小增量等。
使用這個工具,我創建了幾個 Gradle 任務來:
- 獲取特定的依賴項大小,并將它們相加以了解 SDK 的大小;
- 獲取 APK 的下載大小,使用
apkanalyzer; - 獲取 APK 的比較檔案大小,使用
apkanalyzer, 與空應用程式進行比較以了解 SDK 大小;
現在,我真正需要的是找出 APK 的實際安裝大小。表示 APK 安裝在設備上后所占用的存盤量。我發現這apkanalyzer并沒有為此提供解決方案,并且不知道如何解決這個問題。我不想手動執行此操作,而是必須自動化。最好通過 Gradle 任務。
那么:如何最好使用 Gradle 自動計算 APK 的安裝大小?
uj5u.com熱心網友回復:
我已經制定了我自己的答案。
- 使用例如創建一個 AVD:
echo no | avdmanager create avd -n <name> -k "system-images;android-30;google_apis;x86" -f - 運行AVD:
emulator -avd <name> - 確保在 root 中運行 adbd:
adb root。這對于檢索包裹資訊很重要。 - 在 AVD 上安裝 APK:
adb push <absolute_path_to_apk> - 獲取已安裝APK的代碼路徑:
echo $(cut -d "=" -f2- <<< $(adb shell dumpsys package $packageName | grep codePath)) - 使用步驟 5 中的代碼路徑值從 APK 獲取安裝大小:
adb shell du ${codePath} -h | awk 'FNR == 3' | head -n1 | awk '{print $1;}'這將回傳一個字串值,表示 APK 在參考設備上的安裝大小(以 Mb 為單位)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/378859.html
