简体   繁体   中英

Aapt error Android Studio

I'm getting a Aapt error in all of my Android projects. When searching for an solution I found using android.enableAapt2=false could help, but i'm constantly getting errors like;

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

I already reinstalled Android Studio, Android SDK and i tried deleting my settings files. When i'm not using android.enableAapt2=false im getting

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)

I am using Android Studio 3.1.1 build 173.4697961.

edit: I also tried to clean the project, as well as running .gradlew clean, rebuild ect.

edit: I'm using Gradle 4.4 and Android Studio 3.1.1. I cleared the cache and restarted, also I deleted the .gradle/cache folder from my account

I was getting same error, here's steps i followed to resolve it.

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

Aapt2 is enabled by default when you use android plugin for gradle 3.0. so open gradle.properties and add android.enableAapt2=false as shown here https://i.stack.imgur.com/lWyT2.png

I fixed it by reinstalling my PC. The problem was caused by having ë in my username.

this can happen if you edited String.xml file. reset Strings.xml

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM