Aapt错误Android Studio

时间:2018-04-16 11:11:27

标签: java android

我在所有Android项目中都遇到了Aapt错误。 在搜索我发现使用android.enableAapt2 = false的解决方案时可能有所帮助,但我经常遇到类似的错误;

Caused by: java.util.NoSuchElementException
    at com.google.common.collect.AbstractIndexedListIterator.next(AbstractIndexedListIterator.java:80)
    at com.google.common.collect.Iterators.getOnlyElement(Iterators.java:315)
    at com.google.common.collect.Iterables.getOnlyElement(Iterables.java:263)
    at com.android.builder.internal.aapt.v1.AaptV1.makePackageProcessBuilder(AaptV1.java:202)
    at com.android.builder.internal.aapt.AbstractProcessExecutionAapt.makeValidatedPackage(AbstractProcessExecutionAapt.java:67)
    at com.android.builder.internal.aapt.AbstractAapt.link(AbstractAapt.java:34)
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:807)
    ... 56 more

我已经重新安装了Android Studio,Android SDK,我尝试删除我的设置文件。 当我没有使用android.enableAapt2 = false我得到

Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details

    Caused by: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)
    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
    at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$compile$0(QueueableAapt2.java:136)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    ... 1 more
Caused by: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:443)
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:395)
    at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:312)
    at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)

我使用的是Android Studio 3.1.1 build 173.4697961。

编辑:我还尝试清理项目,以及运行.gradlew clean,rebuild等。

编辑:我正在使用Gradle 4.4和Android Studio 3.1.1。我清除了缓存并重新启动,同时我从帐户中删除了.gradle / cache文件夹

4 个答案:

答案 0 :(得分:0)

我得到了同样的错误,这是我按照以下步骤来解决它。

-update all files in app.gradle its asking for. 
- update all files in build. gradle its asking for. 
- invalidate cache and restart Android studio.

默认情况下,当您为gradle 3.0使用android插件时,Aapt2会启用。 所以打开gradle.properties并添加android.enableAapt2=false 如此处所示https://i.stack.imgur.com/lWyT2.png

答案 1 :(得分:0)

我通过重新安装我的电脑来修复它。 问题是由我的用户名中的ë引起的。

答案 2 :(得分:0)

如果您编辑String.xml文件,可能会发生这种情况。重置Strings.xml

答案 3 :(得分:0)

我想通过使缓存无效并重新启动可能会解决您的问题!

相关问题