升级android studio 3.0后,在创建新项目时会报一个异常,Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 。具体如下图所示:
就上网查找解决办法,因为自己是AS3.0版本一出就更新了,还没有人贴出解决方案。就这样,我卡住了,烂摊子一放就是一个多月。
后来再次百度查找解决方法时,终于找到了方案,大多数人给出的方案如下:
在gradle 3.0.0中AAPT2是默认打开的,在项目的gradle.properties中添加android.enableAapt2=false,sync后就编译通过了。
于是我欣喜若狂的去尝试,果然成功解决。但是,这是什么原理呢?没有整明白,但总是觉得不妥,后来明白了,好像是一个自动构建项目的东东,我们把Aapt2给禁了,他们就用Aapt。说google正在解决这个bug,那我就先用这个方法处理吧,于是每次新建项目时都要在gradle.properties中添加android.enableAapt2=false。静等下个版本吧。
大概过了半年左右吧,AS3.1出来了,,赶紧的更新一波。结果……,老样子,还是需要在每次创建项目是加上一句话。我也是无语了,加上就加上吧,但是它又报了一个新错误,虽然不影响项目运行。
纳尼,你google没给出合理解决方法来,就给我2018年底前删除aapt2=false,让他默认为true……
不行,赶紧继续百度,还是没有办法,那我就去https://stackoverflow.com/(在城墙外边,外网)找解决办法吧,仔细阅读每条纯英语(翻译)评论,发现在大多数人都说让aapt2=false的情况下,还是有那么一两个人持有不同意见的,说是因为电脑的用户名为非ascii码,那我的电脑用户名确实是中文。
C:User/小明
那我的AS是安装在D盘啊,跟这个目录有什么关系?错!有些东西不是你能做主的!
看到没,它还是有很多东西给你安装在C盘用户名下的。
那我就更改用户名吧,你右键中文用户名时是没有重命名选项的,因为自己不能把自己给改了,需要切换administrator账户后,才能把自己改成英文,最后再登上自己的英文。
下面开始正式讲解Aapt2异常的解决:
1.首先检查一下我的Windows10电脑是什么版本,居然是家庭版,哎,这不行啊,后续工作不好进行啊,那就升级个专业版吧,激活码百度很多,但没一个能用的,那就上某宝网吧,花了六元,升级完成。(有需要可以留言留下QQ,我的激活码短时间内还能为你们发光发热)。
2.右键此电脑,计算机管理,找到用户和组,在用户里面打开administrator的属性,取消“账户已禁用”的钩。
然后注销你现在用的账户,再用administrator账户登陆,然后就可以改这个中文用户文件夹的名字了。
3.改完名字以后,按win+R键,输入regedit 进注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList,找到你原来目录名字的项,更改ProfileImagePath键为新的目录名就好了。
4.重启你的电脑,打开As,gradle.properties文件再也不需要添加任何自己额外的东西了。
困扰我半年多的问题终于解决了。
android学习之路,路途艰难,我回迎难而上,坚持每天学习。第一次写博客,不足之处,请评论指正。
2018.5.14-20:29 By 白僧