2017-01-03 15 views
26

コンソールでGradleを使用してAndroidアプリケーションを構築しようとしています。 しかし、タスクに関するエラーの下になって ':アプリ:transformClassesAndResourcesWithProguardForRelease':transformClassesAndResourcesWithProguardForRelease FAILED

build.gradle:/ build.gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion '24.0.2' 
    defaultConfig { 
     applicationId "com.XXX.XXX" 
     minSdkVersion 14 
     targetSdkVersion 24 
     versionCode 1 
     versionName "0.1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      shrinkResources true 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 
        'proguard-rules.pro' 
     } 
    } 
} 


dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile('com.squareup.retrofit2:retrofit:2.1.0') { 
     exclude module: 'okhttp' 
    } 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.android.support:design:24.2.1' 
    compile 'com.squareup.okhttp3:okhttp:3.4.1' 
    compile 'com.squareup.retrofit2:converter-moshi:2.1.0' 
    compile 'moe.banana:moshi-jsonapi:2.2.0' 
    compile 'com.squareup.moshi:moshi-adapters:1.3.1' 
    compile 'com.google.android.gms:play-services-maps:9.6.0' 
    compile 'com.android.support:multidex:1.0.1' 
    compile 'com.google.firebase:firebase-core:9.6.0' 
    compile 'com.google.firebase:firebase-crash:9.6.0' 
    testCompile 'junit:junit:4.12' 
} 

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

のGradleラッパー

buildscript { 
    repositories { 
     jcenter() 
     maven { url "https://jitpack.io" } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.3' 
     classpath 'com.google.gms:google-services:3.0.0' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     maven { url "https://jitpack.io" } 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

アプリ。特性

distributionBase=GRADLE_USER_HOME 
distributionPath=wrapper/dists 
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 
zipStoreBase=GRADLE_USER_HOME 
zipStorePath=wrapper/dists 

./gradlewビルド--stacktrace

これは私が受けていた例外です:あなたProGuardのルールにこのコードを追加すること

org.gradle.api.tasks.TaskExecutionException: Execution failed for task 
':app:transformClassesAndResourcesWithProguardForRelease'. 

答えて

52

てみてください、それは私のため

-ignorewarnings 
-keep class * { 
    public private *; 
} 
を働きました

答えはここに掲載されました: Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease

+3

でもプロgaurd.txtファイルに以下を追加する必要がありました説明があるといいですね。 –

+1

それは私のために働く。ありがとうございました。 – DomonLee

21

は...あなたの署名APKが正常に生成されます..your-project/app/proguard-rules.pro

-ignorewarnings 

にこのコードを追加

アップデート:-dontwarnまたは-keepを使用して、警告メッセージを修正する方が良いでしょう

あなたの鍵はproguard-rules.pro ...あなたが(おそらくあなたのライブラリ)を使用している場合はJavaリフレクションアプリケーションがクラッシュしますあなたのコード内 ...それは私のために働いた

+1

それは私のために働く。ありがとう –

3

は、私はまた、これが動作しているようですけれども

#### -- Picasso -- 
-dontwarn com.squareup.picasso.** 

#### -- OkHttp -- 

-dontwarn com.squareup.okhttp.internal.** 

#### -- Apache Commons -- 

-dontwarn org.apache.commons.logging.** 

-ignorewarnings 
-keep class * { 
    public private *;