Сборка Android Studio не удалась в «processDebugResources» при использовании изображений с 9 патчами

1

Я следую книге "The Big Nerd Ranch Android Programming Guide" (2-е издание) и в отдельной главе (глава 21), они просят вас использовать 9-патч-образ для некоторых изображений. До тех пор приложение, которое я написал, называемое BeatBox, отлично работало и скомпилировалось без ошибок.

Но, когда я перехожу к другим рисункам с 9-патч-изображением, я запускаю ошибку сборки, и я просто не могу заставить приложение строить. Ниже приведена ошибка:

Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources]

Configuration on demand is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72311Library UP-TO-DATE
:app:prepareComAndroidSupportRecyclerviewV72311Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42311Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\<USERNAME>\AppData\Local\Android\sdk\build-tools\23.0.2\aapt.exe'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 12.753 secs

Я выполнил точные инструкции, приведенные в книге, и поэтому я предполагаю, что результат должен быть безошибочным. Любая идея, почему я столкнулся с этой ошибкой?

  • 0
    Я думаю, что это может помочь вам: stackoverflow.com/questions/23991988/…
  • 0
    @ OrkunKoçyiğit публикует ссылку на первый результат, когда Google ищет фразу «Конфигурация по требованию является инкубационной функцией». не поможет Решение, на которое вы ссылаетесь, не имеет ничего общего с этим вопросом.
Теги:
android-studio
build-error

2 ответа

3

Прежде всего, вы немного подходите к вам

AAPT точно связан с объединением ресурсов в ваш APK. Здесь представлена ​​подробная информация , включая (IMO) лучшую диаграмму, показывающую различные шаги сборки. Таким образом, проблема с вашим файлом aapt.exe'' finished with non-zero exit value 1 почти наверняка вызвана изменением 9-патчей. Не нужно возвращаться на круги своя, пытаясь вспомнить, что еще вы изменили и в конце концов вытащили все свои волосы.

Проверка

Мне не удалось дублировать вашу проблему, непосредственно запуская любую из задач root Gradle (:app:generateDebugSources и :app:generateDebugAndroidTestSources). Я также не смог дублировать проблему, выполнив только неудачную задачу Gradle: :app:processDebugResources.

Не вызвано конфигурацией по запросу

Маловероятно, что проблема вызвана сбоем в "конфигурации по требованию". Строка "Конфигурация по требованию - это функция инкубации". также будет напечатана, если ваша сборка прошла успешно.

Мысли

Похоже, вы используете новейшие средства сборки (23.0.2 на момент написания этой статьи) версии, что хорошо.

Вы не перечислили его, но я предполагаю, что вы также используете последнюю версию плагина Android- Gradle (так как оба они вышли одновременно, а Android Studio по умолчанию использует последнюю версию), подробнее

Я бы предложил вернуться и начать с первого Drawable, который мы просим вас реализовать: ShapeDrawable и подтвердить, что это работает, а затем перейти к следующему. Это поможет определить, где проблема.

Если вы можете указать ссылку на свой образец, который тоже поможет.

В будущем с Gradle -связанными проблемами вы всегда можете запустить задачу Gradle самостоятельно (как я уже говорил выше) и добавить флаг --info. Из командной строки или "терминала" в Android Studio просто запустите (в вашем случае):

./gradlew app:generateDebugSources --info

Наконец, что бы вы ни обнаружили, отправьте сообщение здесь. Проблема, которую вы видите, напрямую не связана с нашей книгой, и ваш ответ поможет другим.

  • 0
    Проблема возникает ровно перед 9-й патч-частью книги. До 9-патча все отлично работает. Затем я загрузил изображение в формате png и заменил на него чертеж в макете, и это сработало. Затем я отредактировал его, как предложено в книге, чтобы создать 9-патч, и включил его в макеты. Затем он ломается и не скомпилируется. Но замена 9-патча оригинальными чертежами в макетах заставляет его работать снова. Сейчас я перешел от этой проблемы, поскольку понял суть 9-патча. Если у меня возникнет эта проблема в будущем, когда я собираюсь использовать образ с 9-патчами, я рассмотрю его.
2

У меня была та же проблема, и я разрешил ее с помощью

./gradlew clean 
  • 0
    Спасибо, я постараюсь проверить, работает ли этот подход, и доложить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню