2015-12-04 23 views
7

Viene visualizzato un errore durante la generazione di apk firmato in Android Studio.Esecuzione non riuscita per l'attività ': app: shrinkReleaseMultiDexComponents'

:app:shrinkReleaseMultiDexComponents FAILED 
Error:Execution failed for task ':app:shrinkReleaseMultiDexComponents'. 
> java.io.IOException: The output jar [E:\SVN_studio\100's\trunk\app\build\intermediates\multi-dex\release\componentClasses.jar] must be specified after an input jar, or it will be empty. 
Information:BUILD FAILED 
Information:1 error 
Information:Total time: 35.975 secs 
Information:159 warnings 

Ecco il mio file di build.gradle

apply plugin: 'com.android.application' 
apply plugin: 'com.google.gms.google-services' 

android { 
compileSdkVersion 21 
buildToolsVersion "22.0.1" 

defaultConfig { 
    applicationId "<packageName>" 
    minSdkVersion 16 
    targetSdkVersion 21 
    versionCode 1 
    versionName "1.0" 
    multiDexEnabled true 
} 
buildTypes { 
    release { 
     minifyEnabled true 
     shrinkResources true 


    } 
} 
packagingOptions { 
    exclude 'META-INF/LICENSE.txt' 
} 
lintOptions { 
    abortOnError true; 
} 

} 

repositories { 
    mavenCentral() 
} 
repositories { 
    flatDir { 
    dirs 'libs' 
    } 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile 'com.nineoldandroids:library:2.4.0' 
compile 'com.android.support:design:22.2.1' 
compile 'com.google.android.gms:play-services-gcm:7.5.0' 
compile 'com.android.support:cardview-v7:21.0.+' 
compile 'com.github.ksoichiro:android-observablescrollview:1.5.0' 
compile 'com.android.support:support-v13:22.2.1' 
compile 'com.astuetz:pagerslidingtabstrip:1.0.1' 
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4' 
compile 'com.android.support:recyclerview-v7:22.2.1' 
compile 'com.mikhaellopez:circularimageview:2.0.1' 
compile(name: 'app-debug', ext: 'aar') 
compile 'com.facebook.android:facebook-android-sdk:4.1.0' 
compile files('libs/YouTubeAndroidPlayerApi.jar') 
} 

non so perché io sono sempre quelli errore? Qualcuno può aiutarmi?

+0

Modificare 'multiDexEnabled true' in' multiDexEnabled false' – Piyush

+0

Se si desidera utilizzare 'Proguard', è necessario scrivere' minifyEnabled true', dopo aver risolto gli errori. Ha risolto il tuo problema ma il tuo apk non è sicuro. –

+0

@PratikButani ok, dopo averlo impostato su true, ho bisogno di fare cambiamenti nel file proguard giusto? –

risposta

3

Cercate di falso su minifyEnable e progetto

buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } } 
+6

Quindi se vuole usare 'Proguard' allora? Penso che questa non sia una soluzione se vuole usare 'Proguard' –

+0

Voglio usare Proguard e voglio anche aggiustarlo. Come fare questo? – NarendraJi

2

Set minifyEnabled sincronizzazione al false e Sync Gradle e di progetto.

2

provare a rimuovere ...

compile files('libs/YouTubeAndroidPlayerApi.jar')

perché

compile fileTree(include: ['*.jar'], dir: 'libs')

compilerà tutti i file jar.

+0

sì, e un'altra cosa che ho fatto minifyEnabled false e funziona –