爲什麼升級個IDE要寫篇文章記錄下呢?
每次升級Android Studio
就會碰到一堆bug,網上一查遍地是踩坑篇,有已經被人踩過解決的,也有找不到解決方法,自己硬着頭皮嘗試的,就這就已經勸退不少想升級的夥伴。這次我也記錄一下從 4.0 版本升級上來踩過的坑。
1. Android Studio 4.0.2 升級到 4.1.2 (噩夢版本)
幾個月前的某一天,日常瀏覽Android Developers
時,看到Studio4.1.2
的新特性,一時興起就更新了,然後就踩坑了。
Studio 插件全部丟失
Studio4.1
版本開始更換了插件目錄,會導致插件丟失或者損壞。所以升級時候不用勾選升級插件,僅僅升級IDE,完了後重新安裝插件吧。注意備份配置!注意備份配置!注意備份配置!(慘痛的經歷就是當時我根本沒想到會出現這種狀況,只習慣性的導出了setting文件,然後就只能憑記憶重新找插件了)
很多插件不支持在4.1版本上使用了
之前幾個好用的生成java模版代碼的插件,都沒辦法使用了,也沒找到替代插件,悲劇的以後只能自己手寫[哭暈] ,太影響效率了
Gradle編譯問題
在Sync Project with Gradle Files
時,下載第三方依賴總會莫名其妙的失敗,也沒有找到誰有類似的經歷,最後偶然發現把http改成https,就能正常下載了,有點神奇。
用了一段時間項目切到AndroidX
上,同時也維護Android Support
版本,git分支頻繁切換後,有些類開始報紅了,怎麼治都不好,但是又不影響項目運行,慢慢的只當沒看見了[捂臉],逼死強迫症
當然相對於這些缺點,studio 新特性還是挺好用的,最起碼抽風的概率降低了。
2. Android Studio 4.1.2 升級到 4.2.1
2.1 Gradle面板中gradle所有命令不見了
解決方法:
設置 => 最下面Experimental => do not build gradle task xxx => 取消勾選 => 然後Rebuild
2.2 IDE默認使用內置open jdk環境,但是 4.2 的使用的默認版本是jdk 11,當場開發項目rebuild就直接報錯了
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:kaptOnlineDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
> java.lang.reflect.InvocationTargetException (no error message)
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException,
原因是:studio升級後默認配置發生變化,會默認使用更高版本的jdk進行編譯,故找不到該類,發生報錯,所以我們只要把本地的jdk的編譯版本改回1.8即可解決,修改路徑如下:
file -> project structure -> sdk location -> jdk location
圖中修改默認的JDK Location的路徑即可
更多bug正在趕來的路上....