Приложение с ошибкой выполнения: processDebugResources Android Studio

124

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

Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    E:\Program Files (x86)\Android\android-sdk\build-tools\19.0.0\aapt.exe package -f --no-crunch -I E:\Program Files (x86)\Android\android-sdk\platforms\android-19\android.jar -M E:\Documents\smart-my-job1\app\build\manifests\debug\AndroidManifest.xml -S E:\Documents\smart-my-job1\app\build\res\all\debug -A E:\Documents\smart-my-job1\app\build\assets\debug -m -J E:\Documents\smart-my-job1\app\build\source\r\debug -F E:\Documents\smart-my-job1\app\build\libs\app-debug.ap_ --debug-mode --custom-package com.smartmyjob
Error Code:
    -1073741819
danieljohngomez
источник
1
У меня была эта проблема, и оказалось, что у меня было исключительно длинное имя файла в папке с ресурсами.
Джек,
А также, если в именах файлов или изображений есть неанглийские символы, у вас будет такая же проблема. Я обнаружил сегодня.
Fuat

Ответы:

108

Мне помогло сменить версию buildTools на:

buildToolsVersion "21.0.1"

Вы найдете эту настройку внутри файла app/build.gradle.

marfy4207
источник
1
имеет ли это изменение побочных эффектов для реального проекта?
совершиландроидер
11
Благодаря этому парню, если вы все еще запутались, посмотрите в загруженный диспетчер sdk и посмотрите, какая последняя версия Android SDK build-Tools. Затем измените свой файл сборки gradle на эту версию, теперь у меня 22.0.1. Мы уже
привыкли
2
Я новичок в Android Studio, как это сделать?
Шахид Карими
@MarthaJames Вы найдете настройку внутри файла app/build.gradle.
Александр Сурафель
3
У меня последняя версия buildToolsVersion "23.0.1". проблема все еще существует
Тушар Бэнн
41

Вы столкнулись с ошибкой https://code.google.com/p/android/issues/detail?id=42752 . Причиной обычно является ссылка на несуществующую строку в одном из ресурсов меню.

Скотт Барта
источник
У dimenString types not allowed (at 'navigation_drawer_width' with value '320p'
меня
1
Спасибо @Scott, чтобы быть более конкретным, R.java получает ошибку из-за неправильного имени ресурса, поэтому показывает ошибку.
Лалит Шарма
В моем случае я добавил апостроф (ы) к строке в файле string.xml. После удаления все заработало. Это так раздражает, что IDE не может правильно отображать ошибку, скорее, все ресурсы не синхронизированы ..
MobileEvangelist
Ударьте ту же проблему с определением <string name="">в моем strings.xmlфайле. Удвойте, что ваш strings.xmlфайл действителен!
MatsLindh
Я получил эту ошибку, когда запустил команду "gradle clean build --stacktrace --debug" из-за отсутствия файлов значков. Спасибо
Дэвид Тао
39

Для меня это было то, что я забыл установить 32-битные зависимости:

sudo apt-get install -y lib32gcc1 libc6-i386 lib32z1 lib32stdc++6
sudo apt-get install -y lib32ncurses5 lib32gomp1 lib32z1-dev lib32bz2-dev
dirkk0
источник
2
У меня было много проблем со сборкой простого APK в среде Ubuntu с образцом myApp Ionic в Android, установка этих недостающих зависимостей устранила мои проблемы!
JLavoie
В какую папку вы их установили: в папку проекта или в системную папку Android?
Azurespot
Этот вопрос не касается - «apt-get» устанавливает пакеты в систему.
dirkk0 05
15

aapt 32-битный, поэтому не будет выполняться в 64-битном блоке, пока не будет включена 32-битная архитектура

dpkg --print-foreign-architectures  #  if prints nothing then below is fix

sudo dpkg --add-architecture i386  #  add a 32 bit architecture to box

sudo apt-get install -y lib32gcc1 libc6-i386 lib32z1 lib32stdc++6

sudo apt-get install -y lib32ncurses5 lib32gomp1 lib32z1-dev

это работает для меня.

audiebant
источник
4
Они необходимы для Ubuntu 16.04
Луис Ригони,
Когда вы используете Ubuntu 16.04, вы должны установить эти две зависимости
Дхарма Сай Серапу,
13

У меня была такая же проблема, и я исправил ее, выполнив ./gradlew clean build! Попробуйте, и если это не сработает, попробуйте ./gradlew --refresh-dependenciesпосле, и все будет в порядке.

Dico
источник
12

Мой ответ может показаться слишком запоздалым, но я случайно столкнулся с той же ошибкой в ​​Android Studio после обновления SDK до API 21. Я перепробовал все решения, с которыми я столкнулся здесь, на этом сайте и https://code.google. com / p / android / issues / detail? id = 61308 . Вот как я в конечном итоге решил эту ошибку: я открыл файл приложения gradle.build и изменил его следующим образом:

android {
    compileSdkVersion 21
    buildToolsVersion "21.0.0"

    defaultConfig {
        applicationId "com.abundantideas.layoutsample"
        minSdkVersion 8
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }

к этому:

android {
    compileSdkVersion 21
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.abundantideas.layoutsample"
        minSdkVersion 8
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }

Я снизил значения buildToolsVersion и targetSdkVersion до 20, которые, как я знал, работали нормально до обновления. Похоже, в моем случае API 21 вызывал проблемы для Gradle. Надеюсь, это поможет и другим.

Обильные идеи
источник
7

В моем случае я очистил проект (Menubar -> Build -> Clean Project), а затем снова выполнил сборку. Это сработало.

Акешвар Джа
источник
4

В моем случае у меня было два объявления

<?xml version="1.0" encoding="utf-8"?>

в моем векторном значке

все, что мне нужно было сделать, это удалить один

EdgeDev
источник
3

В моем случае проблема решена с помощью отключения мгновенного запуска в Android Studio 3.1.2 Android Instant Raun Отключить

Md. Ибрагим
источник
2

Я столкнулся с ошибкой выполнения приложения: processDebugResources Android Studio после обновления репозитория SDK. Я использую Android Studio 1.5.1, целевой SDK версии 23. Раньше я использовал buildToolsVersion 21.0.1, изменение buildToolsVersion на 21.1.2 решило мою проблему.

Возможно, вы захотите узнать, как мне подходит версия 21.1.2. Он был рекомендован Android Studio после успешного обновления моего SDK.

введите описание изображения здесь

После изменения buildToolsVersion на 21.1.2 (см. Настройки моей версии ниже) вам необходимо синхронизировать механизм сборки Gradle.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "mm.weboffice"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:cardview-v7:23.0.1'
    compile 'com.android.support:recyclerview-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile 'com.android.support:support-v4:23.0.1'
}

Android Studio предложит вам синхронизировать Gradle, или вы можете перейти в строку меню> Файл> Синхронизировать, чтобы запустить синхронизацию вручную. Android Studio восстановит ваш проект после синхронизации.

введите описание изображения здесь

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

Чонг Черн Донг
источник
Это хорошо написанный ответ, но, пожалуйста, не копируйте и не вставляйте одно и то же в несколько ответов .
Энди
2

В моем случае я пытался изменить buildToolsVersionв gradle, но это не помогло мне. Моя проблема была исправлена, когда я нашел функцию drawable, которая называется example.PNG . Это должен быть example.png ; Не было сообщений о неправильном имени ресурса, но после того, как я переименовал файл, проект был построен gradle.

AinisSK
источник
2

Если это не ваши инструменты сборки, проверьте свои строки, стили, атрибуты ... XML-файлы и убедитесь, что они верны. Например, строка с пустым атрибутом имени

<string name="">Test"</string>

или ранее неопределенный атрибут attr без указанного формата ( attrs.xml ):

<declare-styleable name="MediaGridView">
    <attr name="allowVideo"/>
</declare-styleable>
user2220771
источник
2

Били головой об этом 2 дня.

TL; DR - Получил эту ошибку, так как имя моего приложения содержало '-'.

Оказывается, андроид этого не позволяет. После запуска gradlew build --stacktraceв каталоге android - появилась ошибка, подразумевающая это.

chenop
источник
2

это может помочь в сборке приложений android studio 3.2.1 gradle, это должно быть похоже

android {
    compileSdkVersion 27
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "com.sample.mvphelloworld"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
       implementation fileTree(dir: 'libs', include: ['*.jar'])
       compile 'com.android.support:appcompat-v7:27.1.1'
       implementation 'com.android.support.constraint:constraint-layout:1.1.3'
       testImplementation 'junit:junit:4.12'
       androidTestImplementation 'com.android.support.test:runner:1.0.2'
       androidTestImplementation 'com.android.support.test.espresso:espresso- 
       core:3.0.2'
}

От Gradle до
версии плагина 4.6 до версии 3.2.1

koteswara DK
источник
1

Получив эту ошибку, я сделал сборку с --info (gradle --info build). Он сообщил, что не может открыть libz.so.1 из-за неправильного ELFCLASS. Требуется 32-битная версия libz. Мне пришлось загрузить исходный код, изменить Makefile на gcc -m32 и установить 32-разрядный пакет разработки glibc (dnf install glibc-devel.i686). После создания и установки этой 32-битной библиотеки я отключил 64-битную.

Потом все прошло хорошо.

Рон Шенк
источник
1

У меня была такая же проблема, и поскольку этот вопрос был первым в Google, я тоже добавлю свое решение. Для меня это отсутствующий formatатрибут в attrэлементе в res/values/attrs.xml.

matzahtli
источник
1

Это сработало для меня, просто перезапустив студию Android 2 раза: D. Я использую Android Studio 2.1.

Прамеш Баджрачарья
источник
1

Я решил это, изменив инструменты сборки с версии 21.0.1 на 20.0.0

Ахмад Айяз
источник
1

Запустите gradle с --stacktraceопцией, чтобы увидеть больше информации, что не так.

Радим Вакулик
источник
0

В моем случае crashlytics (Fabric.io) генерировал файлы, которые в какой-то момент конфликтовали, и второй файл был автоматически сгенерирован с недопустимым именем.

Короче говоря: проверьте, нет ли у вас имен файлов с недопустимой длиной, вы должны быть предупреждены перед исходным исключением.

Лисандро
источник
0

У меня возникла эта проблема после удаления журналов. Я решил это, перестроив проект.

Alsemany
источник
0

перейдите на панель Gradle и запустите его, дважды щелкнув по нему в строке сообщения, он покажет вам, где ваш проект является ошибкой, например, возможно, у вас есть звук, фильм или файл или ... что он компактный в вашем проекте на google android i мне очень жаль, что мой английский действительно очень плохой

reza.abdi
источник
0

Вы получаете эту ошибку, когда используете ключевые слова Java в имени ваших ресурсов.

G_v
источник
0

Была такая же проблема. Я изменил файл build.gradle внутри папки приложения с этого: compileSdkVersion 23 buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.vastsoftware.family.farmingarea"
    minSdkVersion 11
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"

к этому:

compileSdkVersion 23 buildToolsVersion "21.0.2"

defaultConfig {
    applicationId "com.vastsoftware.family.farmingarea"
    minSdkVersion 11
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"

и работал отлично! надеюсь, это сработает и для вас!

Вайос Стергиопулос
источник
0

У меня была такая же проблема, и я переехал

ic_launcher.png из папки для рисования в папку mipmap.

Дхавал Дживани
источник
0

Для меня это была ошибка с моими ресурсами. Просто изменил ресурсы моего проекта в папке ресурсов и папке res (т.е. для Android), и он работал нормально.

Успешная сборка

Общее время: 1 мин. 10,034 сек.

Коэффициент инноваций
источник
0

В ваших макетах могут быть ошибки, например, android:id="@id/вместо android:id="@+id/.... По крайней мере, это было причиной моего исключения.

Marius
источник
0

Проверьте, не была ли частично установлена ​​какая-либо платформа SDK. Если это так, переустановите его.

Nasif Md. Tanjim
источник
0

Я столкнулся с этой ошибкой при обновлении моей студии Android до 3.0.1 с 2.3. Попробовав все приведенные выше решения, я обнаружил, что проблема связана с версией инструментов сборки. Я использовал неподдерживаемую версию инструментов сборки. Я изменил свой, как показано ниже, и это сработало.

buildToolsVersion '26.0.2'

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

3.0.0 (октябрь 2017 г.): плагин Android для Gradle 3.0.0

С этим обновлением вам больше не нужно указывать версию для инструментов сборки - плагин по умолчанию использует минимально необходимую версию. Итак, теперь вы можете удалить свойство android.buildToolsVersion.

https://developer.android.com/studio/releases/gradle-plugin.html#3-0-0

Аджит Мемана
источник
0

Мне пришлось запустить Android Studio в режиме администратора.

Windows 10 x64

Хайдер
источник