Android Studio 3.0 не удалось объединитьDebugResources - ошибка: файл не найден

Я создал пустой проект и добавил поддержку appcompat-v7-26.1.0. Я получаю много таких ошибок:

C:\Users\username.gradle\caches\transforms-1\files-1.1\appcompat-v7-26.1.0.aar\e0aabf040e64856c88683f1511ddf095\res\layout\tooltip.xml: ошибка: файл не найден.

которые приводят к:

Ошибка: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: ошибка AAPT2: проверьте подробности в журналах: app:mergeDebugResources FAILED

ОШИБКА: сборка не удалась с исключением.

Что пошло не так: не удалось выполнить задачу «:app:mergeDebugResources».

Ошибка: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: ошибка AAPT2: подробности см. в журналах

Я могу решить эту проблему , добавив свойство в gradle.properties файле

android.enableAapt2=false

... но это скорее обходной путь, чем устранение причины. Если вы посмотрите на этот отсутствующий путь к файлу, он кажется довольно длинным, поэтому мне было интересно, может ли длина пути быть проблемой, как указано для других проблем здесь. К сожалению, я не знаю, как я могу изменить его, так как большая часть длины находится внутри каталога gradle, поэтому даже если я изменю путь GRADLE_USER_HOME (в моем случае C:\Users\username\.gradle), это не будет большой прибылью. Я также пытался установить

android.enableBuildCache=true # false didn't work as well
android.buildCacheDir =c:\\temp\\

но без везения. Я был бы признателен за руку помощи или любую подсказку в этом случае.




Ответы (3)


Вот что я изменил в build.gradle:

dependencies {
    classpath 'com.android.tools.build:gradle:0.4.3'
}

здесь:

https://issuetracker.google.com/issues/36972228

person Konstantin Shendenkov    schedule 03.11.2017
comment
Это помогло, однако я использовал версию 2.3.0. Спасибо! - person Luke; 03.11.2017

У меня была аналогичная проблема.
Помогло изменение среды выполнения Gradle с Gradle 4.4.1 на Gradle 4.1.
(без изменений в зависимостях, если вы используете Jenkins, убедитесь, что переменные среды обновлены правильно gradle --version)

person Marcin Muszalski    schedule 15.02.2018

Похоже, проблема в том, что gradle ищет в C:\Users\username.gradle\caches кэшированные библиотеки appcompat. Я предполагаю, что username.gradle не существует? Или это опечатка?

В любом случае, у меня была аналогичная проблема, и указание домашнего каталога пользователя gradle устранило ее. В моем случае gradle искал внутри C:\Windows\System32\config\systemprofile и не находил кеш, потому что его не существовало.

Я установил переменную среды для GRADLE_USER_HOME, чтобы gradle кэшировал вещи в заданном месте. Посмотрите этот вопрос. более детально.

person rorold    schedule 23.05.2018