我在所有的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文件夹
发布于 2018-04-18 14:21:48
我通过重装我的电脑修复了这个问题。这个问题是由于我的用户名中有ë引起的。
发布于 2018-04-16 19:37:36
我收到了同样的错误,下面是我解决它的步骤。
-update all files in app.gradle its asking for.
- update all files in build. gradle its asking for.
- invalidate cache and restart Android studio.
当你使用android plugin for gradle 3.0时,默认情况下会启用Aapt2。因此,打开gradle.properties并添加android.enableAapt2=false
,如下所示https://i.stack.imgur.com/lWyT2.png
发布于 2020-09-04 18:02:11
如果您编辑了String.xml文件,则可能会发生这种情况。重置Strings.xml
https://stackoverflow.com/questions/49855882
复制相似问题