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

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.


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.


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

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.


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.


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.


7

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


3

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


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!


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.


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>

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.


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


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.


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.



1

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



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.


0

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


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


0

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


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!


0

Miałem ten sam problem i poruszył mnie

ic_launcher.png z folderu do rysowania do folderu mipmap.


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


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.


0

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


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


0

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

Windows 10 x64

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.