AS Android開發 錯誤集錦
一、專案依賴庫和主程式的allowBackup衝突: Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@allowBackup value=(true) from AndroidManifest.xml:39:9-35
is also present at [:CloudFaceVerifySdk-proRelease-v1.3.6-3cb4c80:] AndroidManifest.xml:25:9-36 value=(false).
Suggestion: add 'tools:replace="android:allowBackup"' to <application> element at AndroidManifest.xml:37:5-255:19 to override. 解決辦法:
<application
android:name=".PHApplication"
android:allowBackup="true"
android:icon="@mipmap/logo_icon"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:allowBackup"
二、aar檔案 Failed to resolve
可嘗試
//這樣設定可以找到.aar檔案的路徑
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
三、Didn't find class "" on path: DexPathList 錯誤
解決方法:可嘗試把module的build資料夾刪除再clean,然後執行;如果還是不行,再試試把兩個build
(app build以及專案build)都刪掉,然後執行,一般都能夠解決問題的。
四、E/dalvikvm: Could not find class 'android.app.usage.UsageStatsManager', referenced from method......
解決方法: 把這裡的鉤鉤去掉即可
四、Manifest merger failed with multiple errors, see logs
1、首先嚐試進入命令列,輸入命令:gradlew processDebugManifest --stacktrace 其中, processDebugManifest是log裡面提到的
2、解決: (注:第一、二、三是轉載自https://www.cnblogs.com/bluestorm/p/6692789.html)
此問題產生原因大概有三個
# 第一,清單檔案有錯,這種錯不會在編譯時指出來,當然as中還是可以看到的, 邊上的紅色就是了
# 第二,引入的三方包存在相同的label icon 等名字
解決:清單檔案用tools manifest頭宣告tools作用域:
xmlns:tools="http://schemas.android.com/tools"
然後在application中用tools替代報錯的節點,如:
解決辦法是 到你的「processDebugManifest」module的Mainifest裡面加入這樣的語句:
-
<application
-
android:allowBackup="true"
-
android:label="@string/app_name"
-
tools:replace="label,allowBackup">
意思是如果merge manifest,就用別處的allowBackup和label值替換這裡的。
# 第三 也就是上面有人說的sdk版本衝突
解決:一種是修改targetSdkVersion 為一致或者不衝突
第二種,如果因為某些原因不能修改,在清單檔案中強制合併
# 第四 將library庫中manifast.xml檔案中的<application>節點刪掉
五、DexArchiveMergerException
Android Studio編譯時出現異常:java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
在app的build.gradle檔案中匯入這個依賴: compile
'com.android.support:multidex:1.0.1'
然後在app的build.gradle 檔案中的 defaultConfig 配置中新增配置:
multiDexEnabled
true
六、No slave process to process jobs, aborting