Installation did not succeed。apk安裝失敗的一些解決辦法

2020-10-10 14:00:42

其實有挺多原因會導致安裝失敗的,所以解決辦法也不盡相同,下面列舉一些解決辦法。

先檢視手機環境,是否開啟USB偵錯,是否允許安裝應用,手機是否處於開啟狀態,黑畫面狀態下也是會安裝失敗的。

清除快取並重新啟動AS
在這裡插入圖片描述
可以嘗試同步重新啟動手機。

重試安裝,可能會在安裝提示的時候點錯了,導致安裝失敗。

刪除.gradle資料夾.idea資料夾build資料夾
然後重新編譯會自動生成,這個可能是因為升級了AS,或者改了某些設定導致的版本不對稱,所以刪除重新編譯即可。

編譯期間注意檢視控制檯中buildlogcat、以及run的紀錄檔,可能是庫升級或程式碼改動導致的錯誤。

List of apks:
[0] 'xxx-debug.apk'

在AS的新版本中,有一些API變更。

在 Android Gradle 外掛 3.0.0 及更高版本引入的 API 變更中,部分功能被移除,因此您現有的編譯可能會出現異常。外掛的更高版本可能會引入新的公共 API 來替代失效的舊功能。
在編譯時可能無法正常修改變體輸出
新外掛不支援使用 Variant API 來操縱變體輸出,但仍然支援使用該 API 處理某些簡單任務,例如在編譯時更改 APK 名稱,具體如下所示:

    // If you use each() to iterate through the variant objects,
    // you need to start using all(). That's because each() iterates
    // through only the objects that already exist during configuration time—
    // but those object don't exist at configuration time with the new model.
    // However, all() adapts to the new model by picking up object as they are
    // added during execution.
    android.applicationVariants.all { variant ->
        variant.outputs.all {
            outputFileName = "${variant.name}-${variant.versionName}.apk"
        }
    }
    

不過,涉及存取 outputFile 物件的複雜任務已不再受支援。這是因為在設定階段不會再建立專門針對特定變體的任務。這導致外掛不能預先了解所有的輸出,但也縮短了設定時間。

具體可檢視:https://developer.android.google.cn/studio/known-issues


其他情況,歡迎討論。