個(gè)人原創(chuàng)洋闽,轉(zhuǎn)載請(qǐng)注明出處:http://www.reibang.com/p/2b845a880700
??時(shí)隔一年將AS升級(jí)到了3.4阐污,在老項(xiàng)目上測(cè)試了一下休涤,幾個(gè)新功能都挺方便的,特別是在Project Structure里現(xiàn)在能很方便的更新依賴項(xiàng)疤剑。不過(guò)編譯運(yùn)行時(shí)出了兩個(gè)小問題滑绒,一是模擬器啟動(dòng)時(shí)閃退,二是Gradle build時(shí)報(bào)錯(cuò)隘膘。
模擬器閃退
??看了下Event log疑故,發(fā)現(xiàn)報(bào)鏡像目錄時(shí)出現(xiàn)了中文亂碼,于是猜測(cè)和文件目錄名有關(guān)弯菊。如果模擬器鏡像所在文件夾(.android)在"C:\Users{中文用戶名}"下的話容易出這個(gè)問題纵势。這時(shí)候可以將.android里的avd文件夾拷貝到不含中文目錄的其他位置,再更改avd里鏡像的ini文件(比如pixel3就是Pixel_3_API_xx)里的path路徑改為當(dāng)前路徑管钳。
??不過(guò)這樣改的弊端是新建的模擬器鏡像位置還是在原來(lái)的位置钦铁,建一個(gè)改一個(gè)太麻煩了,所以推薦的方法是新建一個(gè)系統(tǒng)環(huán)境變量ANDROID_SDK_HOME才漆,值就是你想改的新的路徑牛曹,然后將原.android文件夾剪切到該路徑下,這樣以后新建的鏡像就在新路徑下了(順便幫C盤瘦個(gè)身^^)醇滥。
Gradle報(bào)錯(cuò)
??一升到3.4 as就會(huì)提示你升級(jí)gradle到5.1.1黎比,不過(guò)我用該版本build的時(shí)候會(huì)報(bào)transformDexWithInstantRunSlicesApkForDebug這個(gè)錯(cuò)誤,看上去似乎是和Instant Run有關(guān)鸳玩,關(guān)了Instant Run后果然不報(bào)錯(cuò)了阅虫。不過(guò)Instant Run還是很方便的,不想舍棄不跟,于是又到Overflow上查了一下颓帝,發(fā)現(xiàn)有人通過(guò)升級(jí)gradle版本解決了,于是嘗試升級(jí)gradle到5.4版本窝革,成功购城!Overflow上的大神還是牛批啊聊闯!
最后再鄙視一下google工猜,都3.x版本了as還是不能改新建項(xiàng)目時(shí)的默認(rèn)gradle版本,只能先建再改菱蔬,更新了那么多功能這點(diǎn)小問題都解決不了么篷帅?