2014-12-10 14 views
14

voglio compilare un progetto, ho avuto Error:Gradle: Execution failed for task ':app:processDebugResources'.Android Studio: Codice di errore 1: Gradle: Esecuzione non riuscita per l'attività ': app: processDebugResources'

qui è l'eccezione:

Error:Gradle: Execution failed for task ':app:processDebugResources'. com.android.ide.common.internal.LoggedErrorException: Failed to run command:

D:\devtools\adt\sdk\build-tools\21.1.1\aapt.exe package -f --no-crunch -I D:\devtools\adt\sdk\platforms\android-21\android.jar -M E:\code\android\TVMediaPlayer\app\build\manifests\debug\AndroidManifest.xml -S E:\code\android\TVMediaPlayer\app\build\res\all\debug -A E:\code\android\TVMediaPlayer\app\build\assets\debug -m -J E:\code\android\TVMediaPlayer\app\build\source\r\debug -F E:\code\android\TVMediaPlayer\app\build\libs\app-debug.ap_ --debug-mode --custom-package com.skyworth.tvmediaplayer.app --output-text-symbols E:\code\android\TVMediaPlayer\app\build\symbols\debug

Error Code: 1

Output: E:\code\android\TVMediaPlayer\app\build\res\all\debug\drawable-hdpi-v4\ic_launcher.png: error: Duplicate file. E:\code\android\TVMediaPlayer\app\build\res\all\debug\drawable-hdpi\ic_launcher.png: Original is here. The version qualifier may be implied.

qui è il file Gradle:

android { 
     compileSdkVersion 21 
     buildToolsVersion "21.0.2" 

     defaultConfig { 
      applicationId "com.jerrellmardis.amphitheatre" 
      minSdkVersion 21 
      targetSdkVersion 21 
      versionCode 1 
      versionName "1.0" 
      renderscriptTargetApi 19 

      buildConfigField "String", "TMDB_API_KEY", "\"${loadSecret("TMDB_API_KEY")}\"" 
     } 
...... 
dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:recyclerview-v7:21.0.0' 
    compile 'com.android.support:leanback-v17:21.0.0' 
    compile 'com.android.support:appcompat-v7:21.0.0' 
    compile 'com.android.support:palette-v7:21.0.0' 
    compile 'com.squareup.picasso:picasso:2.3.4' 
    compile 'com.squareup.retrofit:retrofit:1.7.1' 
    compile 'com.google.code.gson:gson:2.3' 
    compile 'org.apache.commons:commons-lang3:3.3.2' 
    compile 'org.apache.commons:commons-collections4:4.0' 
    compile 'com.jakewharton:butterknife:6.0.0' 
    compile 'com.github.satyan:sugar:1.3' 
} 

sono perplesso sul messaggio di errore, son messo il file PNG sbagliato o mio file di configurazione Gradle è sbagliato?

+1

prova a passare a drawable-hdpi \ ic_launcher.png: – Sultan

+1

L'errore 1 in sostanza ti dice che hai un file duplicato ... Rinominalo o cancellalo. –

+4

@Sultan grazie mille. Trovo anche il problema. Perché ho il file duplicato "ic_launcher.png" in un file jar. – roger

risposta

4
  • Nel caso in cui amministrare i propri file AAR:

È necessario garantire che il vostro Gradle e buildToolsVersion sono identicamente nel progetto e le Aars utilizzati.

  • Nel caso in cui si utilizza librerie esterne dove non è possibile controllare la Gradle/costruire versione:

contattare l'autore o controllare le fonti da soli. Alcune librerie hanno icone di avvio non utilizzate che causeranno questo conflitto. La rimozione di queste icone risolverà il tuo problema. Anche fonti identiche (ad esempio menu.xml) potrebbero causare questo problema in rari casi. Una facile soluzione sarebbe quella di rinominare la risorsa.

+0

+1 per rinominare le risorse. Sfortunatamente non funziona se più librerie di terze parti hanno il proprio ic_launcher. Ho finito per importare manualmente alcuni di essi e rimuovere l'ic_launcher all'interno del mio progetto, il che è sfortunato, ma era inevitabile. – kha

+0

rinomina le risorse risolto il mio problema –

13

Ho avuto lo stesso problema durante l'utilizzo di una libreria di terze parti.

Per risolvere il problema, ho spostato i miei file ic_launcher.png dalla cartella drawable alla cartella mipmap. E il problema è risolto.

enter image description here

+0

strano. questo lo ha risolto per me, ma comunque mi piacerebbe sapere perché questo sta accadendo ... – martyglaubitz

+0

Questo ha aiutato, grazie. –

0

Aggiunta aaptOptions.cruncherEnabled = false in app.gradle risolto miniera

+1

Ciao. Per favore metti qualche altra informazione con la tua risposta. cioè la ragione di questo problema. –

0

Nel caso in cui nessun altro ha questo problema e nessuna delle risposte citate risolto il tuo problema è possibile aggiungere questa riga al file AndroidManifest.xml in il tag applicazione:

tools:replace="android:icon

È inoltre necessario lo spazio dei nomi strumento in voi tag manifesta

xmlns:tools="http://schemas.android.com/tools"

Quindi sarebbe simile a questa:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     package="com.example.sqlite" >` 

    <application 
     android:allowBackup="true" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" 
     tools:replace="android:icon" 
     android:icon="@mipmap/ic_launcher" 
     android:name="com.orm.SugarApp"> 

Ho la com.github.satyan:sugar:1.3 dipendenze pure, credo che libreria sta importando un'altra icona nel suo manifesto, provocando così il conflitto.

2

Simply Rename il Image (Rightclick on the Image, Select Refactor and select Rename). Risolverà il problema in quanto è emerso il problema poiché uno dei library/Module utilizza anche lo image with the same name.

Problemi correlati