记:AAPT2 error: check logs for details

原本好好的项目,去厕所一趟出来,就给我报这个错:AAPT2 error: check logs for details 。真的是白色不得其姐啊!!刚开始遇到这个错误,在网上看到了很多惊讶到掉下巴的答案。其中一个答案让我记忆犹新,半夜都能笑醒。居然说是.9图的问题,让把.9后缀给去掉。WTF???坑人不带这样玩的吧。为了帮助遇到类型问题的小伙伴们,特此写下来碰到这样得问题怎么去解决。

1、首先检测在编写代码的时候,xml文件书写的是否正确。

2、如果不是资源问题的问题,那么可以尝试,“如果有问题可以退回到之前的版本,打开gradle.properties,添加如下内容”

android.enableAapt2=false。但是我想表达的是,作为一个有追求,有理想,有干劲的程序员。让我回退???我宁愿卸载AS。而且这个方法压根没球用啊。根据谷歌的提示:

选项“android.enableAapt2”已被弃用,不应再使用。
使用“android.enableAapt2=true”来删除这个警告。
它将在2018年底被移除。

很明显,我们使用“android.enableAapt2=false”来关闭AAPT2是行不通的,这个方法已经过时了,关闭之后Android Studio告诉我们要把它打开,这样就陷入了一个死循环,所以我们还是需要找到问题的根本原因在哪里才能解决。

3、在网上搜索了很多资料:终于找了一个比较靠谱的方法:在命令行中进入项目的根目录,或者可以在Android studio的Terminal中直接操作也可以,然后敲入一个命令:gradlew compileDebug --stacktrace。第一行提到了一个资源异常“ResourceException”

出现如下问题:虽然到底是那里出现了问题并不明显。于是尝试把命令改为:gradlew compileDebugSources --stacktrace -info 

再次执行的时候,居然发现了中文。第一感觉是这里不正常。

4、于是乎:尝试着修改gradle的缓存目录:修改办法如下:这个可以通过android studio的设置中找到gradle,配置另一个非中文目录来缓存。

File -> Settings -> Build, Execution,Deployment -> Gradle

进入这个页面找到“Service directory path”项,将里面的路径换到一个非中文路径就好了(切记,不要把之前的文件拷贝到这里。)然后bulid一下。完美解决

5、网上还有另外一个解决的办法:有兴趣的可以去尝试下指定你的项目使用较新的gradle 插件:在build.gradle(Project)中修改Gradle版本到3.2.0-alpha11或更新版本就可以了

6、具体的原因求教了一个行业里面比较牛逼的大佬。他给的答复是:“目前的这种非AsciⅡ的确是AAPT2和Gradle插件的一个bug,但现在已经被修复,只是Android Studio还未更新成这个被修复的版本。”

最后提醒一下:这种国外的软件,不单单是AS,千万不要存在中文的路径。祝大家痛并快乐着。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当你在使用Android开发中的aapt2编译资源时,可能会遇到"android aapt2 error: check logs for details"的错误提示。这个错误通常是由于资源文件的问题引起的。 首先,我们需要检查错误日志以获取更多的详细信息。你可以在命令行中运行aapt2编译资源的命令时,添加"--verbose"或者"--debug"的参数来获取详细的日志输出。 错误日志可能会包含有关具体资源文件的错误信息。例如,它可能指示某个资源文件不存在、资源文件命名不规范、资源文件中的内容格式错误等。通过查看错误日志,你可以找到具体的错误原因,从而采取相应的修复措施。 在排除资源文件中可能存在的问题后,你还应该检查项目的依赖情况。确保所需的库和插件已正确添加到项目中,并且版本兼容。有时候,错误可能是由于不兼容的库或插件引起的。 此外,你还可以尝试清理项目并重新构建,以确保所有的资源文件都被正确编译和链接。清理项目可以清除可能存在的缓存文件和临时生成的资源文件,从而消除潜在的问题。 总之,"android aapt2 error: check logs for details"是一个相对较常见的错误,通常与资源文件有关。通过检查错误日志以及确定项目的依赖情况是否正确,你应该能够解决这个问题并成功编译你的Android应用程序。 ### 回答2: Android aapt2错误是指在使用aapt2(Android Asset Packaging Tool 2)时出现问题。aapt2是一个用于将资源文件编译和打包成Android应用的工具。当出现aapt2错误时,系统会提示"check logs for details",即检查日志获取详细信息。 要解决这个错误,首先要查看日志以获取具体的错误信息。可以通过以下步骤来检查日志: 1. 在Android Studio中打开项目。 2. 在底部工具栏中找到"Gradle Console"(Gradle控制台)。 3. 点击Gradle Console,在控制台中查看相关错误信息。 在日志中可能会显示以下类型的错误信息: - 缺少资源:aapt2在编译过程中发现某些资源文件缺失。可以通过确认资源文件的存在性,并在项目中确保它们的正确引用来解决此问题。 - 命名冲突:aapt2发现两个或多个资源具有相同的名称。要解决此问题,请确保所有资源的名称唯一,并在代码中正确引用它们。 - 资源格式错误:aapt2无法处理某些资源文件,可能是因为其格式不正确。可以尝试重新生成或转换这些资源文件,以确保其格式符合要求。 调试解决aapt2错误可参考以下方法: 1. 确保使用最新版本的Android SDK和Gradle插件。 2. 清理和重新构建项目,以确保资源文件正确编译。 3. 检查项目中的资源文件,确保它们的格式正确并且没有命名冲突。 4. 检查项目中的引用,确保资源文件的路径和名称正确。 5. 在项目的build.gradle文件中,尝试禁用aapt2并启用aapt1。可以通过将以下代码添加到android块中来实现: ``` aaptOptions { useNewCruncher false } ``` 这将使用aapt1而不是aapt2来处理资源文件。 总之,一般来说,通过查看aapt2的错误日志,并根据其中的提示进行调试和解决,可以解决android aapt2错误。 ### 回答3: 当我们在使用Android开发中遇到"aapt2 error: check logs for details"错误时,这通常表示我们在构建Android项目时遇到问题。具体原因可能有很多,但是我们可以通过检查日志文件来获得详细的错误信息和解决方法。 要查看日志文件,我们可以按照以下步骤操作: 1.打开Android Studio,并定位到项目结构视图。 2.在项目结构视图中,选择app模块,然后展开它。 3.在app模块中,我们可以找到一个名为"Build"或"Gradle"的文件夹。展开该文件夹以查看更多选项。 4.在Gradle文件夹中,我们可以找到名为"aapt2"的文件夹。在该文件夹中,我们可以找到一个名为"aapt2_stderr.log"的日志文件。 5.通过双击"aapt2_stderr.log"文件,我们可以打开它并查看其中的错误信息。 这个日志文件会提供关于错误的详细信息,帮助我们找出造成"aapt2 error"的具体原因。通常,它会包含有关资源文件的问题,比如重复的资源名称、无效的资源文件等。 根据错误日志中提供的信息,我们可以采取适当的措施来解决问题。一些常见的解决方法包括: 1.检查你的资源文件,确保命名正确,没有重复的资源名称。 2.确保所有的资源文件都是有效的,没有损坏或格式错误。 3.尝试清理和重建项目,以防止一些临时的构建问题。 4.确保你的Gradle版本和插件版本是兼容的,可以尝试更新Gradle版本或插件版本来解决一些已知的问题。 需要注意的是,每个错误都有不同的原因和解决方法,因此我们需要根据具体的错误信息来进行调查和处理。如果问题仍然存在,我们可以通过在网上搜索相关错误信息或在社区论坛提问来获取更多帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值