代码之家  ›  专栏  ›  技术社区  ›  Gastón Saillén Michael Lehenbauer

无法生成签名的apk-taskExecutionException失败

  •  4
  • Gastón Saillén Michael Lehenbauer  · 技术社区  · 6 年前

    当我试着让我的应用程序上线的时候,我正处于最后的阶段 build 生成签名的apk,我从 ProGuard

    org.gradle.api.tasks.taskExecutionException:任务执行失败 “:app:transformClassesandResourceWithProguardForRelease”。 在org.gradle.api.internal.tasks.execution.executeActionsAskeExecuter.executeActions(executeActionsAskeExecuter.java:100) 在org.gradle.api.internal.tasks.execution.executeActionStaskExecuter.execute(executeActionStaskExecuter.java:70) 在org.gradle.api.internal.tasks.execution.outputDirectoryCreatingtaskExecuter.execute(outputDirectoryCreatingtaskExecuter.java:51) 在org.gradle.api.internal.tasks.execution.skippuptodatetaskexecuter.execute(skippuptodatetaskexecuter.java:62) 在org.gradle.api.internal.tasks.execution.resolvetaskoputcachingstatexecuter.execute(resolvetaskoputcachingstatexecuter.java:54) 在org.gradle.api.internal.tasks.execution.validatingtaskexecuter.execute(validatingtaskexecuter.java:60) 在org.gradle.api.internal.tasks.execution.skipEmptySourceFileStaskExecuter.execute(skipEmptySourceFileStaskExecuter.java:97) 在org.gradle.api.internal.tasks.execution.cleanupstaleoutputsexecuter.execute(cleanupstaleoutputsexecuter.java:87) 在org.gradle.api.internal.tasks.execution.resolvetaskartifactstatetaskexecuter.execute(resolvetaskartifactstatetaskexecuter.java:52) 在org.gradle.api.internal.tasks.execution.skiptaskwithnoactionsexecuter.execute(skiptaskwithnoactionsexecuter.java:52) 在org.gradle.api.internal.tasks.execution.skiponlyiftaskexecuter.execute(skiponlyiftaskexecuter.java:54) 在org.gradle.api.internal.tasks.execution.executeatmostoncetaskexecuter.execute(executeatmostoncetaskexecuter.java:43) 在org.gradle.api.internal.tasks.execution.catcheptiontaskexecuter.execute(catcheptiontaskexecuter.java:34) 在org.gradle.execution.taskgraph.defaulttaskgrapherexecuter$eventfiringtaskworker$1.run(defaulttaskgrapherexecuter.java:248) 在org.gradle.internal.progress.defaultbuildoperationexecutor$runnablebuildoperationworker.execute(defaultbuildoperationexecutor.java:336) 在org.gradle.internal.progress.defaultbuildoperationexecutor$runnablebuildoperationworker.execute(defaultbuildoperationexecutor.java:328) 在org.gradle.internal.progress.defaultBuildOperationExecutor.execute(defaultBuildOperationExecutor.java:199) 在org.gradle.internal.progress.defaultBuildOperationExecutor.run(defaultBuildOperationExecutor.java:110) 在org.gradle.execution.taskGraph.defaulttaskGrapherExecuter$eventFiringtaskWorker.execute(defaulttaskGrapherExecuter.java:241) 在org.gradle.execution.taskgraph.defaulttaskgrapherExecuter$eventFiringtaskWorker.execute(defaulttaskgrapherExecuter.java:230) 在org.gradle.execution.taskgraph.defaulttaskplanexecutor$taskexecutorworker.processtask(defaulttaskplanexecutor.java:123) 在org.gradle.execution.taskgraph.defaulttaskplanexecutor$taskexecutorworker.access$200(defaulttaskplanexecutor.java:79) 在org.gradle.execution.taskgraph.defaulttaskplanexecutor$taskexecutorworker$1.execute(defaulttaskplanexecutor.java:104) 在org.gradle.execution.taskgraph.defaulttaskplanexecutor$taskexecutorworker$1.execute(defaulttaskplanexecutor.java:98) 在org.gradle.execution.taskGraph.defaulttaskExecutionPlan.execute(defaulttaskExecutionPlan.java:626) 在org.gradle.execution.taskgraph.defaulttaskexecutionplan.executeWithtask(defaulttaskexecutionplan.java:581) 在org.gradle.execution.taskgraph.defaulttaskplanexecutor$taskexecutorworker.run(defaulttaskplanexecutor.java:98) 在org.gradle.internal.concurrent.executorpolicy$catchendrecordfailures.onexecute(executorpolicy.java:63) 在org.gradle.internal.concurrent.managedExecutorImpl$1.run(managedExecutorImpl.java:46) 在org.gradle.internal.concurrent.threadfactoryimpl$managedThreadRunnable.run(threadfactoryImpl.java:55) 原因:java.lang.RuntimeException:作业失败,请参阅日志 细节 在com.android.build.gradle.internal.transforms.proguardtransform.transform上(proguardtransform.java:196) 在com.android.build.gradle.internal.pipeline.transformtask$2.call上(transformtask.java:221) 在com.android.build.gradle.internal.pipeline.transformtask$2.call上(transformtask.java:217) 在com.android.builder.profile.threadrecorder.record上(threadrecorder.java:102) 在com.android.build.gradle.internal.pipeline.transformtask.transform上(transformtask.java:212) 在org.gradle.internal.reflect.javamethod.invoke上(javamethod.java:73) 在org.gradle.api.internal.project.taskfactory.incrementaltaskaction.doExecute(incrementaltaskaction.java:46) 在org.gradle.api.internal.project.taskfactory.standardtaskaction.execute(standardtaskaction.java:39) 在org.gradle.api.internal.project.taskfactory.standardtaskaction.execute(standardtaskaction.java:26) 在org.gradle.api.internal.tasks.execution.executeActionStaskExecuter$1.run(executeActionStaskExecuter.java:121) 在org.gradle.internal.progress.defaultbuildoperationexecutor$runnablebuildoperationworker.execute(defaultbuildoperationexecutor.java:336) 在org.gradle.internal.progress.defaultbuildoperationexecutor$runnablebuildoperationworker.execute(defaultbuildoperationexecutor.java:328) 在org.gradle.internal.progress.defaultBuildOperationExecutor.execute(defaultBuildOperationExecutor.java:199) 在org.gradle.internal.progress.defaultBuildOperationExecutor.run(defaultBuildOperationExecutor.java:110) 在org.gradle.api.internal.tasks.execution.executeActionsAskeExecuter.executeAction(executeActionsAskeExecuter.java:110) 在org.gradle.api.internal.tasks.execution.executeActionsAskeExecuter.executeActions(executeActionsAskeExecuter.java:92)

    这是我的前卫

    -keep public class * implements com.bumptech.glide.module.GlideModule
    -keep public class * extends com.bumptech.glide.module.AppGlideModule
    -keepattributes LineNumberTable,SourceFile
    -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
        **[] $VALUES;
        public *;
    }
    

    建立梯度

    apply plugin: 'com.android.application'
    
    android {
    
        packagingOptions {
            exclude 'META-INF/DEPENDENCIES.txt'
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/NOTICE.txt'
            exclude 'META-INF/NOTICE'
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/DEPENDENCIES'
            exclude 'META-INF/notice.txt'
            exclude 'META-INF/license.txt'
            exclude 'META-INF/dependencies.txt'
            exclude 'META-INF/LGPL2.1'
        }
    
        compileSdkVersion 27
        buildToolsVersion '27.0.3'
    
        defaultConfig {
            applicationId "com.app"
            minSdkVersion 15
            targetSdkVersion 27
            versionCode 1
            versionName "1.0"
        }
    
        buildTypes {
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    
    }
    
    dependencies {
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation 'com.android.support:recyclerview-v7:27.1.1'
        implementation 'com.android.support:cardview-v7:27.1.1'
        implementation 'com.android.support:design:27.1.1'
        implementation 'com.android.support:support-annotations:27.1.1'
        implementation 'com.android.support:multidex:1.0.3'
        implementation 'com.android.support:support-compat:27.1.1'
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    
        implementation 'com.google.firebase:firebase-storage:15.0.2'
        implementation 'com.google.firebase:firebase-database:15.0.1'
        implementation 'com.google.firebase:firebase-auth:15.1.0'
        implementation 'com.google.firebase:firebase-crash:15.0.2'
        implementation 'com.google.firebase:firebase-messaging:15.0.2'
    
        implementation 'com.github.rey5137:material:1.2.4'
        implementation 'com.firebaseui:firebase-ui-database:3.3.1'
        implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.+'
    
        implementation 'com.github.bumptech.glide:glide:4.3.1'
        annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
    
        implementation 'de.hdodenhof:circleimageview:2.2.0'
        implementation 'joda-time:joda-time:2.9.9'
        implementation 'com.google.code.findbugs:jsr305:2.0.1'
        implementation "com.andkulikov:transitionseverywhere:1.7.7"
    
        testImplementation 'junit:junit:4.12'
    }
    
    apply plugin: 'com.google.gms.google-services'
    
    1 回复  |  直到 6 年前
        1
  •  16
  •   Gastón Saillén Michael Lehenbauer    6 年前

    只是通过添加 -ignorewarnings 进了前卫确实为我工作。注意不要建议使用这种方法,您应该修复警告,但如果您需要快速获取apk,这将有所帮助。