A problem occurred configuring root project
Could not resolve all artifacts for configuration ':classpath'.
Could not resolve com.baidu.mobstat:mtj-circle-plugin:latest.integration.
看到這個錯誤是不是覺得網絡不行,或者配置文件出問題了,百度只要加個代理就能下載。
我試過一些常用的修補方法,加代理,換版本好,清緩存,都不行。
沒那么簡單,因為android studio喜歡聲東擊西,不能光看上面的錯誤日志。
於是,在細看一下,會發現一個提示 could not get 403,然后你去搜索這個域名就會發現被禁了。
所以很簡單,注釋掉這個域名開頭的引用,嘗試編譯,通過。
ExoPlayerImplInternal:Source error.
UnrecognizedInputFormatException:None of the available extractors(MatroskaExtractor,FragmentedMp4Extractor,Mp4Extractor,Mp3Extractor。。。)
視頻Mp4播放失敗,於是看到一個異常。
找了很多,跟換了各種內核,無法解決。
於是我下載了一個demo,發現可以,但是版本差異比較大,沒發對比,於是打算升級一下。
升級后,報新錯,於是開始百度找資料。
Execution failed for task 'App:processDebugManifest'.
Could not get unknown property 'instantRunManifestOutputDirectory' for task 'App:processDebugManifest' of type com.android.build.gradle.tasks.ProcessApplicationManifest.
后來我找到一個哥們的筆記:微小站-筆記-百度統計編譯報錯 (jsc0.com),很顯然異常來自於百度移動統計的沖突。
由於本項目可以棄用這個百度移動統計,我直接把百度統計干掉了,在次運行,又來了一個新的伙伴。
AAPT: error: resource android:attr/lStar not found.
到這里我有點察覺這個升級不簡單了,這種編譯包沖突清單合並類問題最惡心,於是我重新清除緩存,然后把編譯版本換成 4.0.1,wrapper文件換成6.1.1版本。
最后確認是 appcompat 1.4.0版本引起的,因為它引入了高版本的kotlin androidx.core:core 庫,所以導致編譯版本等拉高,不兼容。
重新運行,又出現一個新異常。
Compilation failed; see the compiler error output for details.
下面白字提示了,還是不兼容,一下午都在改bug,一個接一個,感覺又被AndroidStudio帶吭里了。
后來尋求同事的幫助,同事也跟我一起升級,一樣的錯誤出現,連環bug。
一直到第二天,同事發現了這個關鍵點,就是升級后的視頻庫,引入了appcompat 1.4.0,於是他直接把1.4.0剔除了。
//視頻播放器完整版引入 api ('com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-java:v8.1.8-release-jitpack'){ exclude group: 'androidx.appcompat' } //是否需要ExoPlayer模式 api ('com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer-exo2:v8.1.8-release-jitpack'){ exclude group: 'androidx.appcompat' }
然后在運行,ok了,但是我這邊還是不行,發現我本地之前查找資料,把所有appcompat升級了,根本原因就是appcompat1.4.0引發的。
我把所有appcompat庫回退1.2.0后,在次運行,通過了。
簡直無語加吐槽,as的報錯機制非常短小無力。
最近新拉項目,運行后報錯,as果然又沒讓我失望過。
Execution failed for task ':service:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
> java.lang.reflect.InvocationTargetException (no error message)
花里胡哨一堆文章,沒啥用,首先可以確認,項目是沒問題的,因為線上都ok,同事也都在用,那么就肯定是環境問題。
改下jdk版本,改成11。
發現后面一堆花里胡哨的錯誤,如果鑽進去了,就完蛋了,很不幸,我鑽過。
然后就是重新清除一下緩存,在 sync 一下代碼,在次運行,解決。
NoBeanDefFoundException: No definition found for class
這個很明顯,沒注入 viewmodel,使用了注入方式別忘記了注入
val settingModule = module {
viewModel { TestViewModel(get()) }
}
Could not track an OkHttp3 request Stream close OkHttp3Interceptor
使用了 AS 的 App Inspection 調試后會出現這個錯,Database Inspector 數據庫分析器或 Profiler 網絡監控器,一直上傳文件失敗,把調試關了就行。