简体   繁体   English

产生签名的APK错误

[英]Generate signed APK error

i try to generate apk and get this error : 我尝试生成apk并收到此错误:

Error:Execution failed for task':transformClassesAndResourcesWithProguardForRelease'. 错误:任务':transformClassesAndResourcesWithProguardForRelease'的执行失败。

Does anybody knows what i'm need to do the generate the apk the is my build.gradle file: 有谁知道我需要做什么来生成apk是我的build.gradle文件:

buildscript {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        jcenter()
        mavenCentral()
    }
}

apply plugin: 'com.android.application'

//Explain the libraries we use.
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.google.android.gms:play-services:3.2.65'
    compile 'com.android.support:support-v4:23.1.+'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile files('libs/PDFNet.jar')
    compile 'de.hdodenhof:circleimageview:2.0.0'
    compile "com.squareup.picasso:picasso:2.4.0"
    compile 'com.devbrackets.android:exomedia:3.0.1'
    compile 'com.viewpagerindicator:library:2.4.1@aar'
}

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
//            proguardFile 'D:/Development/kalsefer/trunk/AndroidTronReader/playstore.kalsefer.keystore'
        }
    }
    lintOptions {
        checkReleaseBuilds false
        // If true, stop the gradle build if errors are found
        abortOnError false
    }

    splits {
        abi {
            enable true
            reset()
            include 'armeabi', 'armeabi-v7a', 'x86', 'x86_64' //select ABIs to build APKs for
            universalApk true //generate an additional APK that contains all the ABIs
        }
    }

    // map for the version code
    project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'x86': 3, 'x86_64': 4]

    android.applicationVariants.all { variant ->
        // assign different version code for each output
        variant.outputs.each { output ->
            output.versionCodeOverride =
                    project.ext.versionCodes.get(output.getFilter(com.android.build.OutputFile.ABI), 0) * 1000000
        }
    }
    android {
        useLibrary 'org.apache.http.legacy'
    }
}

You can check whether you have not missed any proguard settings for third pary libraries you use. 您可以检查是否未丢失所使用的第三个pary库的任何proguard设置。 For the extended list of proguard rules for libraries you can check here: Android Proguard Snippets 有关库的Proguard规则的扩展列表,您可以在此处查看: Android Proguard片段

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-dontshrink

-dontwarn android.support.v4.**
-dontwarn com.google.android.gms.**

#Obfuscate settings
-dontobfuscate

#Optimization settings
#-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-dontoptimize
#-optimizations !field/removal/writeonly,!field/marking/private,!class/merging/*,!code/allocation/variable

-keepparameternames
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod


-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService


-keep public class com.kalsefer.app.ui.BrowserActivity
-keep public class com.kalsefer.app.ui.BrowserActivity$IJavascriptHandler
-keep public class com.kalsefer.app.ui.BrowserActivity$DownloadBookDRM
-keep public class com.kalsefer.app.ui.BrowserActivity$DownloadBook
-keep public class * implements com.kalsefer.app.ui.BrowserActivity$IJavascriptHandler

-keepclassmembers class com.kalsefer.app.ui.BrowserActivity$IJavascriptHandler { 
    <methods>; 
}

-keepnames public class com.kalsefer.app.reader.** {
  public protected private *;
}

-keepclasseswithmembers public class com.kalsefer.app.reader.BookReader {
  public protected private *;
  private native <methods>;
}

-keepclasseswithmembers public class com.kalsefer.app.reader.DocumentManager {
  public protected private *;
  private native <methods>;
}

-keepclasseswithmembers public class com.kalsefer.app.reader.MarkInfo {
  public protected private *;
}

-keepclasseswithmembers public class * {
    public protected private *;
}


-keepclasseswithmembers class * {
    private native <methods>;
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}

-keep class pdftron.PDF.PDFViewCtrl$RenderCallback { *; }
-keep class pdftron.PDF.PDFViewCtrl$PrivateDownloader { *; }
-keep class pdftron.PDF.PDFViewCtrl$LinkInfo { *; }
-keep class pdftron.Filters.CustomFilter$CustomFilterCallback { *; }
-keep class pdftron.PDF.ProgressMonitor { *; }
-keep class pdftron.SDF.ProgressMonitor { *; }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM