Android Studio 3.0后出现AAPT2与“android.enableAapt2”问题的解决方法
前言
哈哈哈哈哈。。。。。。。。
问题终于解决了,让我得瑟一会(吗卖批,折腾了两天)~~~
如果你的Android Studio出现以下错误,那么恭喜你来对地方了。
Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
The option 'android.enableAapt2' is deprecated and should not be used anymore.
Use 'android.enableAapt2=true' to remove this warning.
It will be removed at the end of 2018..
很多伙伴在出现第一个错误时(AAPT2),会选择在项目的gradle.properties中添加
android.enableAapt2=false
然而,有的电脑可以蒙混过关,有的却抛出新的异常(我也添加了,并没有什么卵用),如下
解决方法:
- 问题分析:首先确认这个错误不是项目惹的祸,当你的Android Studio升级到3.0之后都会出现这个问题,其二,这个错误也不是Android Studio导致的。为什么这么确定,我使用Android Studio3.1.2创建新项目一开始就存在这个错误,然后我用公司陈旧的台式电脑导入以前的项目时却可以,其实导入项目也走了很多坑(Android Studio 3.1.2导入AS3.0之前项目的正确姿势)。
- 思考原因:为何公司电脑可以,俺的不可以呢?刚买的新电脑比不过一个陈旧台式电脑?什么鬼,公司电脑wind7系统、4G内存,等等·····,可以锁定是电脑的问题,可是电脑有咋问题呢?打住,不能再考虑这个问题,换一个思考维度,错误是在gradle报的,还记得gradle的路径吗?找到build:gradle路径我好像明白什么了,路径有中文,靠~~
- 方法步骤:这个问题在我们最初使用电脑时就埋下种子了,电脑账户名取了个中文名字,wind系统创建用户时会使用用户名创建文件,今后你的电脑信息一部分会存在里面,包括Android·Studio的gradle,把中文名字换成英文即可。
呵呵~~~~
你以为这么简单啊,这个文件夹中文名改为英文名,我花了三个多小时。。。。。
这里涉及到修改电脑C盘用户文件夹名,其实,这个问下度娘就可以搞定(你的电脑情况我不是很清楚),我再多啰嗦一点,希望能帮到你。
首先确认一下你的gradle路径是不是有中文,如果你的电脑账户名是中文,一般都会有,
重要提示:修改电脑账户名和电脑C盘用户文件夹名有风险,有的电脑开始都不能使用了,浏览器可能也不能用。
说下我是怎么弄过来的。
刚开始我想的很单纯,既然这个文件夹是创建账户之后就会有的,那么我改下账户名不就等于改了文件夹名嘛,百度搜索如何修改wind10账户名,一番操作之后改好了,然而文件夹名并没有变化,接着百度搜索“修改电脑C盘用户文件夹名”,一大堆信息看着不怎么懂,看到改注册表信息,就改了这个,这里贴出修改步骤,
Windows键+R打开运行,输入regedit,点击确定打开Windows注册表管理器,依次展开计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-855929921-1978017223-3117832708-1001,在Profilelist下的文件夹对应系统中用户,而文件夹中ProfileImagePath值是指向每个用户文件夹的地址,一个个点击查看,找到 之前用户名用户 的对应所在的ProfileImagePath值。
刷新之后我遇到困境了,还是没咋变化,右键可以看到重命名高兴一下,结果改不了,说“操作无法完成,因为其中的文件或文件在另一程序中打开,请关闭该文件夹或文件,然后重试。”然后,我点了开始-->账号头像-->注销
注销重新登录,密码没变,进来电脑会弹出一个提示框说“你的账户有变更,一般这种情况需要重新注销登录就可以解决”,点了注销重新登录,结果还是有这个提示,就不管了,点开C盘用户文件夹,右键中文名(我的是机械革命2018代)文件夹重命名,结果可以了,好尴尬。如果出现电脑开始和浏览器不能使用,那么说明你的文件名可以修改了。大概步骤就是这样,还有一些细节忘了,靠自己了哈~
注意:改好之后,记得注释#android.enableAapt2=false,然后同步项目(sync)
#android.enableAapt2=false
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。