Android Studio升級4.0.1遇到的問題
問題一
截屏2020-09-18 上午10.50.52.png
像這種問題,真的扣老殼,因?yàn)闆]有升級前,工程正常運(yùn)行,升級后,就不行了。
- 解決思路
點(diǎn)擊編譯日志詳情,在這里里面可以看到更多的報(bào)錯信息,如果好不能更好定位,那么我們可以在命令行切換到當(dāng)前工程目錄下執(zhí)行:
./gradlew --warning-mode all
我是mac電腦,執(zhí)行命令后,控制臺會輸出日志,從日志信息找到出錯的點(diǎn)。
- 升級導(dǎo)致的問題
通過上面可以定位到出錯的問題,但是如果不知道怎么解決,那也是徒勞,下面說一下Android Studio升級引起的變化。- maven上傳腳本發(fā)生改變
為了加快工程編譯,我將工程module編譯成jar包然后發(fā)布到本地倉庫,那么就需要用到maven來寫發(fā)布腳本。由于升級后,maven發(fā)布腳本發(fā)生改變,所以導(dǎo)致編譯不過,具體編寫參考:publishing_maven - 有些第三方插件導(dǎo)致編譯不過
這個就需要自己通過屏蔽,排查法來解決了,我當(dāng)時(shí)一滴滴的一個AOP框架庫插件導(dǎo)致的編譯不過。 - GSON.fromJson(json, Pref…urationState::class.java) must not be null
這個bug,真的差點(diǎn)逼瘋自己,執(zhí)行上面的命令不會報(bào)任何錯誤。但是,編譯就是不過。
從日志里面可以看到Gradle有一個類用到了Gson,找到這個類,然而并看不出來什么明堂,因?yàn)楦静恢肋@個方法的作用,我看了一下包名,里面有cxx這樣一個節(jié)點(diǎn),而包含了jni的工程正好在module下生成了一個.cxx文件夾,只能刪除試一試,結(jié)果真的解決了問題。
- maven上傳腳本發(fā)生改變
AS無法執(zhí)行Java類的main方法問題及解決方法
在.idea文件夾下的gradle.xml文件中 <GradleProjectSettings>標(biāo)簽下添加<option name="delegatedBuild" value="false" />,然后重新運(yùn)行就可以了
<option name="delegatedBuild" value="false" />