【问题标题】:Unable to Build Release Apk Android Studio 3.0.1 Proguard-Rules无法构建发布 Apk Android Studio 3.0.1 Proguard-Rules
【发布时间】:2017-12-13 12:00:00
【问题描述】:

我正在尝试构建我的应用的发布 apk,但我无法这样做。我在使用旧的 gradle 和 android studio 之前构建了这个应用程序,我认为它是 2.3.3 版。我将所有内容都更新到了 3.0.1 版,但我无法再构建应用程序了。我尝试还原,但它仍然导致执行失败,这与我的 proguard 有关。

消息:

错误:任务 ':app:transformClassesAndResourcesWithProguardForRelease' 执行失败。 作业失败,查看日志了解详情

我的progurd-rules.pro

-dontwarn okio.**
-dontwarn com.yalantis.ucrop**
-keep class com.yalantis.ucrop** { *; }
-keep interface com.yalantis.ucrop** { *; }
-keep class othercode.** { *; }
-dontwarn com.payfort.**
-keep class com.payfort.** { *; }
-keep public interface com.payfort.** {*;}
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.content.BroadcastReceiver
-keep class javax.** { *; }
-dontwarn de.keyboardsurfer.**
-keep class de.keyboardsurfer.** { *; }
-dontwarn com.google.**
-keep class com.google.** { *; }
-dontwarn org.bouncycastle.**
-keep class org.bouncycastle.** { *; }
-dontwarn commons-codec.**
-keep class commons-codec.** { *; }
-dontwarn com.victor.**
-keep class com.victor.** { *; }
-dontwarn com.shamanland.**
-keep class com.shamanland.** { *; }
-dontwarn com.android.**
-keep class com.android.** { *; }

-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }

-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-keep interface android.support.v4.** { *; }

-ignorewarnings

build.gradle:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.25.1'
    }
}
apply plugin: 'com.android.application'

apply plugin: 'io.fabric'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'

    dexOptions {
        incremental = true
        preDexLibraries = false
        javaMaxHeapSize "4g"
    }

    defaultConfig {
        applicationId "I HAD TO REMOVE THIS BEFORE I COULD PASTE MY GRADLE HERE"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 47
        versionName "1.1.37"
        multiDexEnabled true
    }
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
    buildTypes {

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

    packagingOptions {
        exclude 'META-INF/NOTICE' // will not include NOTICE file
        exclude 'META-INF/LICENSE' // will not include LICENSE file
        exclude 'META-INF/notice'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license'
        exclude 'META-INF/license.txt'
    }

}

repositories {
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
    flatDir {
        dirs 'libs'
    }
    google()
}

dependencies {
    compile project(':FORTSDKv1.4')
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile('com.android.support:appcompat-v7:25.3.1') {
        transitive = true;
    }
    compile('de.keyboardsurfer.android.widget:crouton:1.8.5@aar') {
        exclude group: 'com.google.android', module: 'support-v4'
    }
    compile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') {
        transitive = true;
    }
    compile('org.apache.httpcomponents:httpmime:4.3') {
        exclude module: "httpclient"
    }
    compile('com.nispok:snackbar:2.11.+') {
        exclude group: 'com.google.android', module: 'support-v4'
    }
    compile 'org.apache.httpcomponents:httpclient-android:4.3.5.1'
    compile 'com.facebook.android:facebook-android-sdk:4.26.0'
    compile 'com.android.support:multidex:1.0.2'
    compile 'com.android.support:design:26.1.0'
    compile 'com.android.support:support-v4:26.1.0'
    compile 'com.android.support:recyclerview-v7:26.1.0'
    compile 'com.android.support:cardview-v7:26.1.0'
    compile 'org.jsoup:jsoup:1.10.2'
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.google.android.gms:play-services-maps:11.6.2'
    compile 'com.google.android.gms:play-services-location:11.6.2'
    compile 'com.google.android.gms:play-services-auth:11.6.2'
    compile 'com.google.android.gms:play-services-analytics:11.6.2'
    compile 'com.google.firebase:firebase-appindexing:11.6.2'
    compile 'com.google.firebase:firebase-messaging:11.6.2'
    compile 'com.firebaseui:firebase-ui-auth:3.1.0'
    compile 'com.google.code.gson:gson:2.8.1'
    compile 'com.shamanland:fonticon:0.1.9'
    compile 'com.victor:lib:1.0.4'
    compile 'com.google.guava:guava:23.3-android'
    compile 'org.bouncycastle:bcprov-jdk16:1.46'
    compile 'commons-codec:commons-codec:1.10'
    compile 'org.altbeacon:android-beacon-library:2.9.1'
    compile 'ly.count.android:sdk:16.06.04'
    compile 'net.danlew:android.joda:2.9.9.1'
    compile 'com.azoft.carousellayoutmanager:carousel:1.2.1'
    compile 'com.squareup.okhttp3:okhttp:3.9.1'
    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    compile 'com.squareup.okhttp3:logging-interceptor:3.8.0'
    compile 'id.zelory:compressor:1.0.4'
    compile 'com.yalantis:ucrop:2.2.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile 'com.rollbar:rollbar-android:0.2.1'
}

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

【问题讨论】:

  • 在所有库的 proguard 规则中使用 ** { *; } 与根本不使用 proguard 相同。顺便说一句,请在您的build.gradle
  • @ישואוהבאותך “请在您的build.gradle”是什么意思?
  • 抱歉,打错字了。应该是please add your build.gradle。困时打字。
  • @ישואוהבאותך 我已经添加了我的 gradle

标签: android android-studio android-proguard


【解决方案1】:

我可以通过在我的 proguard 中添加 -keeppackagenames org.jsoup.nodes 来解决我的问题。在不确定发生了什么变化之前我不需要这样做我什至没有更改我的 jsoup 版本

【讨论】:

    猜你喜欢
    • 2018-01-20
    • 1970-01-01
    • 2018-06-10
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多