[android] transformClassesAndResourcesWithProguardForRelease FAILED

콘솔에서 Gradle로 Android 애플리케이션을 빌드하려고합니다. 그러나 ‘: app : transformClassesAndResourcesWithProguardForRelease’작업에 대한 오류가 발생합니다.

build.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
}

app / 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-wrapper.properties

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

이것은 내가받는 예외입니다.

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



답변

이 코드를 proGuard 규칙에 추가해보세요.

-ignorewarnings
-keep class * {
    public private *;
}

답변은 여기에 게시되었습니다.
‘: app : transformClassesAndResourcesWithProguardForRelease 작업에 대한 실행 실패


답변

이 코드를 추가 ..your-project/app/proguard-rules.pro

 -ignorewarnings

서명 된 APK가 성공적으로 생성됩니다 …

업데이트 :

-dontwarn또는 -keep
키를 사용하여 경고 메시지를 수정하는 것이 좋습니다 proguard-rules.pro. 왜냐하면 코드에서 자바 리플렉션 을 사용하면 애플리케이션이 충돌하기 때문입니다.


답변

그것은 나를 위해 일했습니다. 또한 pro-gaurd.txt 파일에 다음을 추가해야했습니다.

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

 #### -- OkHttp --

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

 #### -- Apache Commons --

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

     -ignorewarnings
-keep class * {
public private protected *;
}


답변

나는 아무것도 변경하지 않았습니다.

// shrinkResources true
// minifyEnabled true

2 일을 낭비한 후이 문제를 이미 검색 한 proguard 파일을 변경하고 싶지 않습니다.


답변

buildTypes {
    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'),
                'proguard-rules.pro'
    }
}

gradle에서 위에서 언급 한 코드를 제거하십시오. 이것은 나를 위해 일했습니다. 이것은 주어진 문제에만 해당됩니다.


답변

react-native-firebase 설치 후 Android에서 릴리스 빌드를 빌드하려고 할 때 동일한 오류 메시지가 나타납니다 .

다음은 내가 따랐던 단계입니다.

  1. react-native-firebase 문서에 언급 된 모든 구성을 수행합니다.
  2. 이 명령을 사용하여 Android 앱 빌드

    ./gradlew assembleRelease

  3. 이 오류 메시지가 있습니다.

실패 : 예외로 인해 빌드가 실패했습니다.

  • 문제 : ‘: app : transformClassesAndResourcesWithProguardForRelease’작업에 대한 실행이 실패했습니다.

    작업이 실패했습니다. 자세한 내용은 로그를 참조하세요.

android / app / build.gradle 에서이 코드 줄을 변경하여이 문제를 해결했습니다.

minifyEnabled true

이에

minifyEnabled enableProguardInReleaseBuilds

이것이 내가 한 유일한 변화였습니다. 그것은 나를 위해 작동합니다.


답변

Android의 경고로 인해이 문제가 발생했습니다
. 주석 참조 :
https://github.com/flutter/flutter/issues/40218#issuecomment-531047713

/android/app/proguard-rules.pro에 다음 규칙을 추가합니다.
-dontwarn android.**