com.android.tools.aapt2.Aapt2Exception
接手别人项目时遇到的,查询了一番 给大伙汇总一下网上的解决方案和我自己这种问题的解决
方案一
gradle.properties中添加android.enableAapt2=false 但2018年底就要废弃了,个人也不喜欢这种
还有中是在project的build.gradle文件里加 google(),这玩意也是一堆坑 在jenkins里构建也是好多问题不推荐
方案二
修改gradle的缓存目录
这个可以通过android studio的设置中找到gradle,配置另一个非中文目录来缓存。
File -> Settings -> Build, Execution,Deployment -> Gradle
进入这个页面找到“Service directory path”项,将里面的路径换到一个非中文路径就好了
这里不要有中文!我的遇到的问题和这种方案有些联系,受到启发 最后解决了问题
方案三
检查项目资源文件中的.9图,看看是否是严格的.9图 一起eclipse项目中的好多.9图在as中是通过不了的
方案四
更新你的gradle版本,使用较新的gradle 插件 可以避免一些gradle自带的坑
我的问题:第一种未尝试,234种一一排查都没有解决我的问题 我忽然看到了接手的别人项目目录路径里有中文字符
一开始没有改别人的建的目录名字 顺便想验证一直as是不是开始支持了带中文的目录路径(以前的as项目路径有中文的话,导入项目的时候就会提示路径上有非法字符根本就没给你机会run)结果导入后as没有报错 结果运行后就报开始的问题了。
去掉路径上的中文,重新build,
补充:后面又看到一篇文章 http://blog.sina.com.cn/s/blog_5de73d0b0102yffd.html 大家可以看看
重点:构建 App 的时候,打开 Build 窗口,点击 “Toggle View” 切换到文本输出。查看出错点
我又改回原来的中文目录 一看还真看到了这个
五个刺眼的?????有木有! 解决问题的同时 重要的是学会如何解决问题 get到技能。
以上对遇到的问题做一个简单的汇总,希望对大伙有所帮助。最近想自己搭jenkins自动化打包apk,后面估计会慢慢开始写从零
搭建以及遇到的一些问题。只是好懒啊 !
工作生活亦是如此!诸君共勉吧。
后记:这种问题多半还是习惯问题,一开始就要养成良好的习惯,都英文建目录,毕竟这玩意都是歪果仁搞出来的。