作者:缺牙青蛙
連結:https://www.jianshu.com/p/2b845a880700
時隔一年將AS升級到了3.4,在老專案上測試了一下,幾個新功能都挺方便的,特別是在Project Structure裡現在能很方便的更新依賴項。不過編譯執行時出了兩個小問題,一是模擬器啟動時閃退,二是Gradle build時報錯。
模擬器閃退
看了下Event log,發現報映象目錄時出現了中文亂碼,於是猜測和檔案目錄名有關。如果模擬器映象所在檔案夾(.android)在”C:Users{中文使用者名稱}”下的話容易出這個問題。這時候可以將.android裡的avd檔案夾複製到不含中文目錄的其他位置,再更改avd裡映象的ini檔案(比如pixel3就是Pixel_3_API_xx)裡的path路徑改為當前路徑。
不過這樣改的弊端是新建的模擬器映象位置還是在原來的位置,建一個改一個太麻煩了,所以推薦的方法是新建一個系統環境變數ANDROID_SDK_HOME,值就是你想改的新的路徑,然後將原.android檔案夾剪下到該路徑下,這樣以後新建的映象就在新路徑下了(順便幫C盤瘦個身^^)。
Gradle報錯
一升到3.4 as就會提示你升級gradle到5.1.1,不過我用該版本build的時候會報transformDexWithInstantRunSlicesApkForDebug這個錯誤,看上去似乎是和Instant Run有關,關了Instant Run後果然不報錯了。不過Instant Run還是很方便的,不想捨棄,於是又到Overflow上查了一下,發現有人透過升級gradle版本解決了,於是嘗試升級gradle到5.4版本,成功!Overflow上的大神還是牛批啊!
朋友會在“發現-看一看”看到你“在看”的內容