Wykonanie aplikacji nie powiodło się: processDebugResources Android Studio

124

Używam Bitbucket, więc mogę współpracować z innymi programistami, ale wydaje się, że nie możemy sprawić, by działał bezbłędnie. Otrzymałem ten błąd po ściągnięciu od niego zmian:

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
źródło
1
Miałem ten problem i okazało się, że mam wyjątkowo długą nazwę pliku w folderze zasobów.
Jack
A także jeśli w nazwach plików lub obrazów występują znaki inne niż angielskie, będziesz miał ten sam problem. Odkryłem dzisiaj.
Fuat

Odpowiedzi:

108

U mnie pomogło to zmienić wersję buildTools na:

buildToolsVersion "21.0.1"

Znajdziesz to ustawienie w pliku app/build.gradle.

marfy4207
źródło
1
czy zmiana tego ma jakieś skutki uboczne w rzeczywistym projekcie?
committedandroider
11
Dzięki temu facetowi, jeśli nadal jesteś zdezorientowany, spójrz na pobrany menedżer SDK i zobacz, jaka jest najnowsza wersja narzędzi do budowania Android SDK. Następnie zmień plik kompilacji gradle na wersję, w której moja wersja to teraz 22.0.1.
Przyzwyczajamy
2
Jestem nowy w Android Studio, jak to zrobić?
Shahid Karimi
@MarthaJames Znajdziesz ustawienie w pliku app/build.gradle.
Alexander Suraphel
3
Mam wersję buildToolsVersion "23.0.1", która jest najnowsza. problem nadal istnieje
Tushar Banne
41

Napotykasz błąd https://code.google.com/p/android/issues/detail?id=42752 . Przyczyną zwykle wydaje się być odwołanie do nieistniejącego ciągu w jednym z zasobów menu.

Scott Barta
źródło
dimenString types not allowed (at 'navigation_drawer_width' with value '320p'
Mam
1
Dzięki @Scott, Mówiąc dokładniej, R.java otrzymuje błąd z powodu niewłaściwej nazwy zasobu, dlatego wyświetla błąd.
Lalit Sharma
W moim przypadku dodałem apostrofy (s) do ciągu znaków w pliku string.xml. Po wyjęciu działa. Jest to tak denerwujące, że IDE nie może poprawnie wyświetlić błędu, a raczej powoduje brak synchronizacji wszystkich zasobów.
MobileEvangelist
Uderz w ten sam problem z <string name="">definicją w moim strings.xmlpliku. Podwójnie strings.xmlpoprawny plik!
MatsLindh
Wystąpił ten błąd, gdy uruchamiam polecenie „gradle clean build --stacktrace --debug” z powodu brakujących plików ikon. Dzięki
David Tao
39

U mnie było to, że zapomniałem zainstalować zależności 32-bitowe:

sudo apt-get install -y lib32gcc1 libc6-i386 lib32z1 lib32stdc++6
sudo apt-get install -y lib32ncurses5 lib32gomp1 lib32z1-dev lib32bz2-dev
dirkk0
źródło
2
Miałem wiele problemów z budowaniem prostego pakietu APK w środowisku Ubuntu z próbką myApp Ionic w systemie Android, zainstalowanie tych brakujących zależności rozwiązało moje problemy!
JLavoie
Który folder je zainstalowałeś, w folderze projektu lub w folderze systemu Android?
Azurespot
To pytanie nie dotyczy - „apt-get” instaluje pakiety w systemie.
dirkk0
15

aapt jest 32-bitowy, więc nie będzie wykonywany na skrzynce 64-bitowej, dopóki nie zostanie włączona architektura 32-bitowa

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

to działa dla mnie.

audiebant
źródło
4
Są one niezbędne dla Ubuntu 16.04
Luís Rigoni
Kiedy używasz Ubuntu 16.04, powinieneś zainstalować te 2 zależności
Dharma Sai Seerapu
13

Miałem ten sam problem i naprawiłem go, robiąc ./gradlew clean build! Spróbuj, a jeśli to nie zadziała, spróbuj ./gradlew --refresh-dependenciesi powinieneś być dobry.

Dico
źródło
11

Moja odpowiedź może wydawać się zbyt późna, ale zdarzyło mi się natknąć na ten sam błąd w Android Studio po uaktualnieniu SDK do API 21. Wypróbowałem wszystkie rozwiązania, które znalazłem tutaj na tej stronie i https://code.google. com / p / android / issue / detail? id = 61308 . Oto, jak ostatecznie rozwiązałem ten błąd: Otworzyłem plik gradle.build aplikacji i zmieniłem go z tego:

android {
    compileSdkVersion 21
    buildToolsVersion "21.0.0"

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

do tego:

android {
    compileSdkVersion 21
    buildToolsVersion "20.0.0"

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

Obniżyłem wartości buildToolsVersion i targetSdkVersion z powrotem do 20, o których wiedziałem, że działa dobrze przed aktualizacją. Wygląda na to, że API 21 powodowało problemy dla Gradle, w moim przypadku. Mam nadzieję, że pomoże to również innym.

Obfite pomysły
źródło
7

W moim przypadku wyczyściłem projekt (Pasek menu -> Kompilacja -> Wyczyść projekt), a następnie ponownie wykonałem kompilację. Zadziałało.

Akeshwar Jha
źródło
4

W moim przypadku miałem dwie deklaracje

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

w mojej ikonie do rysowania wektorów

wszystko, co musiałem zrobić, to usunąć jeden

EdgeDev
źródło
3

W moim przypadku problem rozwiązany za pomocą funkcji Instant Run Disable w Android Studio 3.1.2 Android Instant Raun Disable

Md. Ibrahim
źródło
2

Po uaktualnieniu repozytorium SDK napotkałem nieudaną realizację aplikacji: processDebugResources Android Studio. Używam Android Studio 1.5.1, docelowy SDK w wersji 23. Wcześniej używałem buildToolsVersion 21.0.1, zmiana buildToolsVersion na 21.1.2 rozwiązała mój problem.

Możesz chcieć dowiedzieć się, jak uważam wersję 21.1.2 za odpowiednią. Zostało polecone przez Android Studio po pomyślnej aktualizacji mojego SDK.

wprowadź opis obrazu tutaj

Po zmianie buildToolsVersion na 21.1.2 (patrz ustawienia mojej wersji poniżej), musisz zsynchronizować mechanizm budowania 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 wyświetli monit o synchronizację Gradle lub możesz przejść do „paska menu> Plik> Synchronizuj”, aby ręcznie uruchomić synchronizację. Android Studio odbuduje Twój projekt po synchronizacji.

wprowadź opis obrazu tutaj

Wiem, że jest wiele problemów z bazą danych SDK i konfiguracją, moje proponowane rozwiązanie może nie rozwiązać wszystkich problemów. Ale jeśli napotkasz podobny błąd po aktualizacji repozytorium SDK, mam nadzieję, że mój post rozwiąże Twój problem. Powodzenia!

Chong Chern Dong
źródło
To dobrze napisana odpowiedź, ale nie kopiuj i nie wklejaj dokładnie tego samego w wielu odpowiedziach .
Andy
2

W moim przypadku Próbowałem zmienić buildToolsVersionw gradle, ale to mi nie pomaga. Mój problem został rozwiązany, gdy znalazłem program do rysowania, który nazywa się example.PNG . Powinien to być przykład.png ; Nie było żadnych komunikatów o złej nazwie zasobu, ale po zmianie nazwy pliku, Gradle zbudował projekt w porządku.

AinisSK
źródło
2

Jeśli to nie są Twoje narzędzia do kompilacji, sprawdź ciągi, style, atrybuty, ... pliki XML i upewnij się, że są poprawne. Na przykład ciąg z pustym atrybutem nazwy

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

lub wcześniej niezdefiniowany atrybut bez określonego formatu ( attrs.xml ):

<declare-styleable name="MediaGridView">
    <attr name="allowVideo"/>
</declare-styleable>
user2220771
źródło
2

Waliłem głowę wokół tego przez 2 dni.

TL; DR - otrzymałem ten błąd, ponieważ nazwa mojej aplikacji zawierała znak „-”.

Okazuje się, że Android na to nie pozwala. Po uruchomieniu gradlew build --stacktracew katalogu Androida - pojawił się błąd, który to sugeruje.

chenop
źródło
2

może pomóc w Android Studio 3.2.1 app build gradle, tak powinno być

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'
}


Wtyczka Gradle do wersji 4.6 do wersji 3.2.1

koteswara DK
źródło
1

Otrzymując ten błąd, zrobiłem kompilację z --info (gradle --info build). Zgłosił, że nie może otworzyć libz.so.1 z powodu nieprawidłowego ELFCLASS. Potrzebuje 32-bitowej wersji libz. Musiałem pobrać źródło, zmienić Makefile na gcc -m32 i zainstalować 32-bitowy pakiet deweloperski glibc (dnf install glibc-devel.i686). Po stworzeniu i zainstalowaniu tej biblioteki 32-bitowej wyłączyłem bibliotekę 64-bitową.

Wtedy wszystko poszło dobrze.

ron shenk
źródło
1

Miałem ten sam problem, a ponieważ to pytanie było pierwszym trafieniem w Google, dodam również moje rozwiązanie. Dla mnie był to brakujący formatatrybut w attrelemencie w res/values/attrs.xml.

matzahtli
źródło
1

To zadziałało dla mnie, uruchamiając ponownie studio Android 2 razy: D. Używam Android Studio 2.1.

Pramesh Bajracharya
źródło
1

Rozwiązałem to, zmieniając wersję narzędzi do kompilacji z 21.0.1 na 20.0.0

Ahmad Ayyaz
źródło
1

Uruchom gradle z --stacktraceopcją, aby zobaczyć więcej informacji, co jest nie tak.

Radim Vaculik
źródło
0

W moim przypadku crashlytics (Fabric.io) generował pliki, które w pewnym momencie były w konflikcie, a drugi plik został automatycznie wygenerowany z nieprawidłową nazwą.

Krótko mówiąc: sprawdź, czy nie masz żadnych nazw plików o nieprawidłowej długości, powinieneś zostać ostrzeżony nad oryginalnym wyjątkiem.

Lisandro
źródło
0

Mam ten problem po usunięciu logów, rozwiązałem go, przebudowując projekt

Alsemany
źródło
0

przejdź do panelu Gradle i uruchom go poprzez dwukrotne kliknięcie w linii wiadomości, pokaże Ci gdzie twój projekt zawiera błąd, na przykład może masz dźwięk, film lub plik lub ... że skompresowałeś go w swoim projekcie na google android i Bardzo mi przykro, że mój angielski jest naprawdę bardzo słaby

reza.abdi
źródło
0

Ten błąd pojawia się, gdy używasz słów kluczowych Java w nazwie zasobów.

G_V
źródło
0

Miałem ten sam problem. Zmieniłem plik build.gradle w folderze aplikacji z tego: compileSdkVersion 23 buildToolsVersion "23.0.2"

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

do tego:

compileSdkVersion 23 buildToolsVersion "21.0.2"

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

i działało idealnie! mam nadzieję, że u Ciebie też działa!

Vaios Stergiopoulos
źródło
0

Miałem ten sam problem i poruszył mnie

ic_launcher.png z folderu do rysowania do folderu mipmap.

Dhaval Jivani
źródło
0

Dla mnie był to błąd z moimi zasobami, po prostu zmieniłem zasoby mojego projektu w folderze zasobów i folderze res (tj. Dla Androida) i działało dobrze.

Buduj pomyślnie

Całkowity czas: 1 min 10,034 sek

Iloraz innowacji
źródło
0

W układach mogą występować błędy, takie jak android:id="@id/zamiast android:id="@+id/.... Przynajmniej to był powód mojego wyjątku.

Marius
źródło
0

Sprawdź, czy jakakolwiek platforma SDK została częściowo zainstalowana. Jeśli tak, zainstaluj go ponownie.

Nasif Md. Tanjim
źródło
0

Natknąłem się na ten błąd podczas aktualizacji mojego studia Android do wersji 3.0.1 z wersji 2.3. Po wypróbowaniu wszystkich powyższych rozwiązań stwierdziłem, że problem dotyczy wersji narzędzi do kompilacji. Używałem nieobsługiwanej wersji narzędzi do kompilacji. Zmieniłem moje jak poniżej i zadziałało.

buildToolsVersion '26.0.2'

Z reguły zawsze staraj się używać najnowszej wersji narzędzi do kompilacji obsługiwanych przez Twoją wersję Gradle. Od wersji 3.0.0 programu Gradle nie trzeba określać wersji narzędzi do kompilacji, ponieważ jest ona pobierana automatycznie.

3.0.0 (październik 2017): wtyczka Android dla Gradle 3.0.0

Dzięki tej aktualizacji nie musisz już określać wersji narzędzi do kompilacji - wtyczka domyślnie używa minimalnej wymaganej wersji. Możesz więc teraz usunąć właściwość android.buildToolsVersion.

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

Ajith Memana
źródło
0

U mnie musiałem uruchomić Android Studio w trybie administratora.

Windows 10 x64

Haider
źródło