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

734 阅读2分钟
原文链接: mp.weixin.qq.com

code小生,一个专注 Android 领域的技术平台

公众号回复 Android 加入我的安卓技术群

作者:缺牙青蛙链接:https://www.jianshu.com/p/2b845a880700声明:本文已获缺牙青蛙 授权发表,转发等请联系原作者授权

个人原创,转载请注明出处:

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上的大神还是牛批啊!

推荐阅读善用 Android Studio 的异动管理功能Andriod Studio两种签名机制V1和V2的区别

人际网络

就是帮助这个人走得更远的后盾