콘솔에서 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에서 릴리스 빌드를 빌드하려고 할 때 동일한 오류 메시지가 나타납니다 .
다음은 내가 따랐던 단계입니다.
- react-native-firebase 문서에 언급 된 모든 구성을 수행합니다.
-
이 명령을 사용하여 Android 앱 빌드
./gradlew assembleRelease
-
이 오류 메시지가 있습니다.
실패 : 예외로 인해 빌드가 실패했습니다.
- 문제 : ‘: 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.**