无法在发布版本中运行Android应用程序

时间:2019-09-11 09:31:09

标签: android apk proguard

如果我的Android应用从android studio启动到仿真器或真实设备,则可以正常运行,但是现在我想构建一个签名的apk,一旦生成,我会安装它,但启动时应用崩溃。 我收到此错误:

java.lang.RuntimeException: Unable to instantiate application myPackage.app.AppController: java.lang.ClassNotFoundException: Didn't find class "myPackage.app.AppController" on path: DexPathList[[zip file "/data...

build.gradle:

            apply plugin: 'com.android.application'
        apply plugin: 'io.fabric'

        android {
            buildToolsVersion '28.0.3'
            compileOptions {
                sourceCompatibility JavaVersion.VERSION_1_8
                targetCompatibility JavaVersion.VERSION_1_8
            }
            compileSdkVersion 28
            defaultConfig {
                applicationId "my.app.id"
                minSdkVersion 21
                targetSdkVersion 28
                multiDexEnabled true
                versionCode 9
                versionName "9"
                testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
            }
            buildTypes {
                release {
                    minifyEnabled true
                    shrinkResources true
                    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                    //signingConfig signingConfigs.configSigned
                }
            }......

proguard-rules.pro:

-ignorewarnings
-obfuscationdictionary windows.txt
-classobfuscationdictionary windows.txt
-keep class android.support.v7.internal.** { *; }
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.internal.** { *; }
-keep interface android.support.v7.** { *; }
-keep class dgsn.gov.ma.dgsn.model.** { *; }
-keep class com.fasterxml.jackson.** { *; }

1 个答案:

答案 0 :(得分:0)

您需要向项目添加一些代码progaurd规则 您的progaurd错误,并且缺少一些代码 例如,如果您正在使用改造 您必须添加有关改装的progaurd规则 您需要检查gradle.build中的依赖性,并且必须检查progaurd规则。