Android編譯通過,執行編譯錯誤問題總結
一. > Could not find com.android.support:support-annotations:28.0.0.
Required by:
project :app > com.android.support:support-v4:21.0.3
> Could not find com.android.support:support-annotations:28.0.0.
Required by:
project :app > ch.acra:acra-http:5.3.0 > ch.acra:acra-core:5.3.0 > ch.acra:acra-javacore:5.3.0
解決方法:
1. 看異常未找到的是annotations註解包,首先查是否依賴support-annotations,如果依賴了appcompat 包也可以,它的內部包含註解包;
2. 依賴後不起作用,檢視sdk版本,使用版本對應註解包版本,例如:sdk版本為26,而support-v4使用的21的版本,依賴那句程式碼下面會有紅線;
3. 其實上面的都沒用,Could not find 是因為 com.android.support 是在google的maven庫中,需要在專案根目錄下的build.gradle 中在 repositories 節點下新增 google();
4. 第三點新增後可能還不能使用,因為google的maven庫需要gradle外掛版本在3.2.0之上,如下圖:
所以在根目錄下的build.gradle 中還要提高gradle外掛版本,對應的也需要在gradle/wrapper目錄下的gradle-wrapper.properties檔案中調整gradle版本;
二. > Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Please add them to the annotationProcessor configuration.
- butterknife-6.0.0.jar (butterknife-6.0.0.jar)
Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true to continue with previous behavior. Note that this option is deprecated and will be removed in the future.
解決方法:
1. 第一種解決方法如英文提示第一種 (重點看上面小括號裡的內容)
1.1 如果是上面(xxxx.jar),則一定是專案libs目錄下jar檔案:
新增依賴 annotationProcessor files("libs/butterknife-6.0.0.jar")
1.2 如果是(網路依賴地址),例如:- permissionsdispatcher-processor-3.0.1.jar (com.github.hotchemi.permissionsdispatcher:permissionsdispatcher-processor:3.0.1)
新增依賴 annotationProcessor "com.github.hotchemi.permissionsdispatcher:permissionsdispatcher-processor:3.0.1"
2. 第二種解決方法如英文提示第二種
defaultConfig節點下新增 javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } } ,最好用第一種,英文提示有說這種會廢棄,但是看你專案的具體環境,我使用第一種時還是編輯不通過。
三. > com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\Users\XQSKKFJ\.gradle\caches\transforms-1\files-1.1\acra-core-5.3.0.aar\339764307da79406ab48d82ea26a52b1\jars\classes.jar
解決方法:
1. 最為簡單,在build.gradle中設定java jdk版本為1.8
四. Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: app/build/intermediates/transforms/dexBuilder/debug/目錄下無數個n.jar報錯(n為整數)
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: org.acra.sender.HttpSender$Method
解決方法:
1. 刪掉app下的build目錄,編譯重新生成是沒有用的。重要的是看報錯資訊最下面那句,會提示衝突的位置。例如上面的錯誤就是org.acra.sender.HttpSender這個類存在兩個,一個在本地打的aar中,一個在網路依賴庫,我需要是用網路庫的,就去掉aar中的。(具體根據自己的使用情況)
五. org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:52)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:36)
相關文章
- AS中匯入android系統包編譯,執行全部通過Android編譯
- centos下caffe用GPU編譯搭建過程以及錯誤總結CentOSGPU編譯
- ipvs編譯錯誤編譯
- android反編譯相關命令總結Android編譯
- 編譯ROCKSDB總結編譯
- C語言的編譯連結執行過程C語言編譯
- Rust 交叉編譯與條件編譯總結Rust編譯
- opencv 編譯常見錯誤OpenCV編譯
- IDEA報錯java: 編譯失敗: 內部 java 編譯器錯誤IdeaJava編譯
- Latex — 寫作編譯過程中遇到問題記錄與總結編譯
- Latex編譯錯誤:Unable to load picture or PDF file 問題解決編譯
- GCC編譯過程(預處理->編譯->彙編->連結)GC編譯
- libusb android ndk編譯--編譯mipsAndroid編譯
- 編譯Android下可執行命令的FFmpeg編譯Android
- libmemcached編譯問題IBM編譯
- SPI編譯問題編譯
- flutter 編譯報錯總結(不斷更新)Flutter編譯
- vc-vs2019編譯報錯總結編譯
- Idea除錯Rocketmq原始碼編譯執行Idea除錯MQ原始碼編譯
- 編譯連結過程編譯
- Flutter 混合開發實戰問題記錄(四)編譯執行時問題的一些總結Flutter編譯
- iOS FFmpeg XCode編譯報錯問題 AVMediaTypeiOSXCode編譯
- PHP編譯安裝時常見錯誤解決辦法,php編譯常見錯誤PHP編譯
- 編譯器後端總結編譯後端
- 提前編譯:AOT-Native Image 和執行時編譯 JIT編譯
- Assimp Android 編譯Android編譯
- android編譯方法Android編譯
- android 反編譯Android編譯
- C語言程式碼區錯誤以及編譯過程C語言編譯
- AndroidStudio之NDK常見編譯錯誤Android編譯
- Include檔案易犯編譯錯誤編譯
- path_provider 編譯錯誤指導IDE編譯
- Idea編譯錯誤解決辦法Idea編譯
- PHP編譯configure時常見錯誤,和PHP7.1.4 編譯安裝PHP編譯
- Android 編譯打包的那些疑問Android編譯
- 【問題記錄】—.NetCore 編譯問題NetCore編譯
- qt編譯報錯 無法執行“rc.exe”QT編譯
- 編譯過程編譯