其實有挺多原因會導致安裝失敗的,所以解決辦法也不盡相同,下面列舉一些解決辦法。
先檢視手機環境,是否開啟USB偵錯
,是否允許安裝應用,手機是否處於開啟狀態,黑畫面狀態下也是會安裝失敗的。
清除快取並重新啟動AS
可以嘗試同步重新啟動手機。
重試安裝,可能會在安裝提示的時候點錯了,導致安裝失敗。
刪除.gradle資料夾
、.idea資料夾
,build資料夾
。
然後重新編譯會自動生成,這個可能是因為升級了AS,或者改了某些設定導致的版本不對稱,所以刪除重新編譯即可。
編譯期間注意檢視控制檯中build
、logcat
、以及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
其他情況,歡迎討論。