android APK INSTALL_FAILED_INSUFFICIENT_STORAGE 問題

maweiliang發表於2019-03-01

事件背景,在一次測試的時候,自己反覆安裝解除安裝同一個應用是,有時會安裝失敗並返回INSTALL_FAILED_INSUFFICIENT_STORAGE,如下圖:

android APK INSTALL_FAILED_INSUFFICIENT_STORAGE 問題

,這個是說我的手機記憶體空間不夠導致的,但是當我查詢手機空間時還很充足呢,看來並不是儲存空間導致的問題。

android APK 安裝流程

  • 首次安裝應用程式時:

APK檔案會儲存在/ data / app / packageName – 1 . apk目錄下 ( 1 . apk )

  • 更新應用程式時:

更新後的APK檔案儲存為:
/ data / app / packageName – 2 . apk ( 2 . apk )

第一個版本( 1 . apk )被刪除。

  • 下一次更新:

新的APK被儲存為( 1 . APK )並且( 2 . APK )被刪除,然後這一直重複。

我們大多數人遇到的問題發生在應用程式更新時,但刪除舊APK失敗。這本身並未導致更新失敗,但卻導致/ data / app中有兩個APK檔案。
下次嘗試更新應用程式時,系統無法移動其臨時檔案,因為( 1 . apk )和( 2 . apk )都不是空的。

解決方法

   public static Process uninstall(String packageName) {
        String cmd = "pm uninstall " + packageName;
        String cmd1 = "rm -rf /data/app/" + packageName + "-*"; //清除解除安裝不乾淨的問題
        return Shell.execShells("su", new String[]{cmd, cmd1});
    }
複製程式碼

相關文章