Android Studio升級4.0.1遇到的問題
問題一
截屏2020-09-18 上午10.50.52.png
像這種問題倚评,真的扣老殼,因為沒有升級前单鹿,工程正常運(yùn)行掀宋,升級后,就不行了仲锄。
- 解決思路
點(diǎn)擊編譯日志詳情劲妙,在這里里面可以看到更多的報錯信息,如果好不能更好定位儒喊,那么我們可以在命令行切換到當(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)時一滴滴的一個AOP框架庫插件導(dǎo)致的編譯不過。 - GSON.fromJson(json, Pref…urationState::class.java) must not be null
這個bug章郁,真的差點(diǎn)逼瘋自己枉氮,執(zhí)行上面的命令不會報任何錯誤。但是暖庄,編譯就是不過聊替。
從日志里面可以看到Gradle有一個類用到了Gson,找到這個類培廓,然而并看不出來什么明堂惹悄,因為根本不知道這個方法的作用,我看了一下包名肩钠,里面有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" />