Android Studio 升级到3.4后的两个小坑

来自:缺牙青蛙

时隔一年将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上的大神还是牛批啊!

推荐↓↓↓
安卓开发
上一篇:【平台开发】如何有效的收集 Android 日志? 下一篇:Android 面试题集(2019-04-04总结)