当前位置: 首页 > 知识库问答 >
问题:

Android minifyEnabled true在调试和发布模式下不工作

芮化
2023-03-14

我无法在调试和发布模式下使用minifyEnabled true运行apk。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    defaultConfig {
        applicationId 'XX.XX.XXX'
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 9
        versionName "1.0"
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
    }
    sourceSets.main {
        jni.srcDirs = [] //disable automatic ndk-build call
        jniLibs.srcDir 'src/main/libs' //integrate your libs from libs instead of jniLibs
    }
    dexOptions {
        javaMaxHeapSize "4g" //specify the heap size for the dex process
    }
    buildTypes {
        release {
            debuggable false
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }


    }
    productFlavors {
    }
    lintOptions {
        checkReleaseBuilds false
    }
    packagingOptions {
        exclude 'META-INF/LGPL2.1'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/LICENSE.txt'

    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    //    compile files('libs/maflogonimo-1.210.3.jar')
    compile project(':android-logging-log4j-1.0.3')
    compile project(':log4j-1.2.17')
    compile files('libs/gson-2.6.2.jar')
    compile 'com.android.support:design:23.4.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:support-v4:23.4.0'
    compile 'com.android.support:cardview-v7:23.4.0'
    compile 'com.android.support:recyclerview-v7:23.4.0'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.google.android.gms:play-services-maps:10.0.1'
    compile 'com.google.android.gms:play-services-location:10.0.1'
    compile 'com.google.android.gms:play-services-auth:10.0.1'
    compile 'com.google.firebase:firebase-messaging:10.0.1'
    compile 'com.esri.arcgis.android:arcgis-android:10.2.8-1'
    //GIS

    compile(name:'ClientHubSLL-3.16.1', ext:'aar')
    compile(name:'ClientLog-3.16.1', ext:'aar')
    compile(name:'Common-3.16.1', ext:'aar')
    compile(name:'Connectivity-3.16.1', ext:'aar')
    compile(name:'CoreServices-3.16.1', ext:'aar')
    compile(name:'DataVaultLib-3.16.1', ext:'aar')
    compile(name:'E2ETrace-3.16.1', ext:'aar')
    compile(name:'HttpConvAuthFlows-3.16.1', ext:'aar')
    compile(name:'HttpConversation-3.16.1', ext:'aar')
    compile(name:'MAFLogger-3.16.1', ext:'aar')
    compile(name:'MAFLogonCore-3.16.1', ext:'aar')
    compile(name:'ODataAPI-3.16.1', ext:'aar')
    compile(name:'ODataOnline-3.16.1', ext:'aar')
    compile(name:'Request-3.16.1', ext:'aar')
    compile(name:'SupportabilityFacade-3.16.1', ext:'aar')

    compile(name:'MAFCalendar-3.16.1', ext:'aar')
    compile(name:'MAFLocaleAwareControls-3.16.1', ext:'aar')
    compile(name:'MAFLogViewer-3.16.1', ext:'aar')
    compile(name:'MAFSettingScreen-3.16.1', ext:'aar')
    compile(name:'MAFTreeView-3.16.1', ext:'aar')
    compile(name:'MAFUIComponents-3.16.1', ext:'aar')
    compile(name:'XscriptParser-3.16.1', ext:'aar')
    compile(name:'MAFLogonUI-3.16.1', ext:'aar')
    compile(name:'MobilePlace-3.16.1', ext:'aar')

}

apply plugin: 'com.google.gms.google-services'
-renamesourcefileattribute SourceFile
-keepattributes SourceFile, LineNumberTable
-keepattributes Exceptions, Signature

-keepattributes EnclosingMethod
-keepattributes InnerClasses

-keep class org.javarosa.** { *; }
-keep class com.sap.** { *; }

-keep class jcifs.** { *; }


-dontwarn com.google.**
-dontwarn org.apache.**
-dontwarn com.sap.**
-dontwarn au.com.bytecode.**
-dontwarn org.joda.**
-dontwarn android.content.**
-dontwarn android.graphics.**
-dontwarn android.util.**
-dontwarn android.view.**

-dontwarn javax.servlet.**
-dontwarn jcifs.http.**
-dontwarn org.codehaus.**
1.
Error:Error converting bytecode to dex:
Cause: java.lang.RuntimeException: Exception parsing classes


2.
Error:1 error; aborting
:app:transformClassesWithDexForDebug FAILED


3.
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_161\bin\java.exe'' finished with non-zero exit value 1

请帮我拿一下这个,先谢谢你。

共有1个答案

闾丘文昌
2023-03-14

将此添加到proguard-rules.pro后请尝试

-dontwarn javax.naming.**
-dontwarn javax.servlet.**
-dontwarn org.slf4j.**

如果你被Proguard困住了。那就暂时把它去掉。

 buildTypes {
        release {
          //  minifyEnabled false
          //  proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
          //  minifyEnabled false
          //  proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
 类似资料:
  • 我有一个应用程序,现在我要发布它。我已经创建了一个apk文件,并且安装了它,但是当我向服务器发送登录请求时,它返回NULL。 奇怪的是,当我用调试构建启动应用程序时,它工作得很好。该问题仅发生在释放模式。所以看了这篇文章后我认为问题出在proguard 这是我目前所做的。 null 这是我的proguard-rules.pro文件。

  • 我正在使用构建发行版apk,但它不起作用。但是,它可以在我的真实设备上工作,该设备在期间连接。我还将调试和发布SHA1添加到Firebase。

  • 在发布模式下,我的Google登录不起作用,但在调试模式下工作正常。我从SO这里得到了一个类似的问题,但我没有得到完美的解决方案。 我的为 - 如何修复此问题?

  • 我一直在尝试为我的应用程序实现一个去噪器,我试图使用这个去噪器减少对服务器的请求,最终,我设法实现了去噪器,但是,它似乎只有在我使用调试器调试应用程序时才起作用。 这就是我实现调试器的方式 这是我的可定义运行实例 这是我为按钮设置onClickListener的方式 我还应该注意,该按钮是recycler视图的一部分,在向服务器发出成功请求后,适配器会收到通知,使用如下所示 我在这里面临的主要问题

  • 我的构建中有以下代码。格拉德尔: 要生成去释放APK,我使用以下命令: 当上传生成的APK()在谷歌播放我得到了以下错误: 您上载了一个可调试的APK。出于安全原因,您需要先禁用调试,然后才能将其发布到Google Play中。了解有关可调试APK的更多信息。 我能够通过在android清单上硬编码生成一个不可调试的APK。但是构建配置仍然像一个可调试的构建,正如您在生成构建中看到的那样。配置(我