Android的Proguard的 - ClassNotFoundException的Android、Proguard、ClassNotFoundException

2023-09-06 17:55:54 作者:吃鸡id

我启用的ProGuard我的Andr​​oid应用程序。我可以成功打造该项目,但它崩溃在启动时ClassNotFoundException的。它甚至没有找到启动活动。这是我ProGuard的规则文件

  -libraryjars库

-keep公共类*扩展android.app.Activity
-keep公共类*扩展android.app.Application

-keepnames类com.mypackage ** {*。 } //有人建议这一点,但不工作

#我们只希望混淆
-keepattributes InnerClasses,签名

#SDK
-keep公共接口com.zendesk.sdk ** {*。 }
-keep公共类com.zendesk.sdk ** {*。 }

#Appcompat和支持
-keep接口android.support.v7 ** {*。 }
-keep类android.support.v7 ** {*。 }
-keep接口android.support.v4 ** {*。 }
-keep类android.support.v4 ** {*。 }

#GSON
-keep接口com.google.gson ** {*。 }
-keep类com.google.gson ** {*。 }

#改造
#-keep类com.google.inject ** {*。 }
#-keep类org.apache.http ** {*。 }
#-keep类org.apache.james.mime4j ** {*。 }
#-keep类javax.inject ** {*。 }
#-keep类改造** {*。 }
#-keep接口改造** {*。 }

#改造
-keep类com.squareup.okhttp ** {*。 }
-keep接口com.squareup.okhttp ** {*。 }
-dontwarn com.squareup.okhttp。**

-dontwarn RX。**
-dontwarn改造。**
-dontwarn奥基奥。**
-keep类改造** {*。 }
-keepclasseswithmembers类* {
    @ retrofit.http *<方法&GT ;;
}

#杰克逊
-keepattributes *注释*,EnclosingMethod,签名
-keepnames类com.fasterxml.jackson ** {*。 }
 -dontwarn com.fasterxml.jackson.databind。**
 -keep类组织codehaus ** {*。; }
 -keepclassmembers公共最后枚举的有机codehaus.jackson.annotate.JsonAutoDetect $能见度{
 公共静态最终组织codehaus.jackson.annotate.JsonAutoDetect $能见度*。 }
-keep公共类your.class。** {
  公共无效套*(***);
  公开***得到*();
}

#Picasso
-dontwarn com.squareup.okhttp。**

#-dontwarn javax.management。**
#-dontwarn java.lang.management。**
#-dontwarn org.apache.log4j。**
#-dontwarn org.apache.commons.logging。**
#-dontwarn org.json。*
#-dontwarn org.apache.commons。codec.binary.Base64

#-keep类的javax ** {*。 }
#-keep类组织** {*。 }

-dontwarn org.mortbay。**
-dontwarn org.slf4j。**
-dontwarn org.apache.log4j。**
-dontwarn org.apache.commons.logging。**
-dontwarn org.apache.commons。codec.binary。**
 

和这里是我的build.gradle文件是否有帮助,但它并不包括所有的依赖。我在库的一些罐子文件夹中。

 应用插件:com.android.application
应用插件:robolectric
应用插件:'机器人'
应用插件:NewRelic的

安卓{
    compileSdkVersion 21
    buildToolsVersion21.1.2

    defaultConfig {
        的applicationIDcom.mypackage
        的minSdkVersion 14
        targetSdkVersion 21
        版本code 54
        VERSIONNAME2.002
        multiDexEnabled真
        testInstrumentationRunnercom.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner
        resConfigsEN,FR,AR
    }
    buildTypes {
        推出 {
            minifyEnabled真
            shrinkResources真
            proguardFiles getDefaultProguardFile('ProGuard的-android.txt'),'proguard-rules.pro
        }

        调试{
            minifyEnabled真
            shrinkResources真
            proguardFiles getDefaultProguardFile('ProGuard的-android.txt'),'proguard-rules.pro
        }
    }

    sourceSets {
        androidTest {
            setRoot(SRC /测试)
        }
    }

    dexOptions {
        javaMaxHeapSize4G
    }

    lintOptions {
        checkReleaseBuilds假
        //或者,如果你preFER,您可以继续检查错误的发布版本,
        //但即使继续建立发现错误的时候:
        abortOnError假
    }

    库{
        行家{URLhttps://zendesk.artifactoryonline.com/zendesk/repo'}
    }

    库{
        mavenCentral()
    }

    依赖{
        编译文件树(导演:库,包括:的* .jar)
        编译com.android.support:appcompat-v7:21.+
        编译com.github.chrisbanes.photoview:图书馆:1.2.3
        编译com.etsy.android.grid:图书馆:1.0.5
        编译com.facebook.android:facebook-android-sdk:3.21.1
        编译com.google.android.gms:播放服务基地:6.5 +。
        编译com.google.android.gms:播放服务钱包:6.5 +。
        编译com.google.android.gms:播放服务,广告:6.5 +。
        编译com.google.android.gms:播放服务,地图:6.5 +。
        编译com.google.android.gms:播放服务驱动:6.5 +。
        编译com.google.android.gms:播放服务,appindexing:6.5 +。
        编译com.google.android.gms:播放服务地点:6.5 +。
        编译com.google.android.gms:播放服务身份:6.5 +。
        编译com.google.android.gms:播放服务加:6.5 +。
        编译com.android.support:multidex:1.0.+
        编制项目(:调整)
        编制项目(':aFileChooser-cbccac1d1cb74a6d57d25c5ded61e4bf4fc40c91)
        编译com.parse.bolts:螺栓,机器人:1 +'
        编译com.squareup.picasso:毕加索:2.4.0
        编译com.android.support:recyclerview-v7:+
        编译(组:com.zendesk,名称:SDK版本:1.0.0.1){
            //排除组:毕加索
        }
        编译com.android.support:recyclerview-v7:+
        编译com.newrelic.agent.android:android-agent:4.+
        编译com.fasterxml.jackson.core:杰克逊 - 数据绑定:2.4.2
        编译com.fasterxml.jackson.core:杰克逊 - 注释:2.4.2
        编译com.fasterxml.jackson.core:杰克逊核心:2.4.2


        / *编译('oauth.signpost:路标-commonshttp4:1.2.1.2'){
            排除模块:共享记录
            排除模块:'的​​HttpCore
            排除模块:HttpClient的
        }
        编译(oauth.signpost:路标核心:1.2.1.2'){
            排除模块:commons- codeC'
        } * /

        androidTestCompileorg.robolectric:robolectric:2.4
        androidTestCompile('的JUnit:JUnit的:4.12)
        androidTestCompile('org.mockito:的Mockito芯:19年10月1日)

    }

    packagingOptions {
        不包括META-INF / DEPENDENCIES
        不包括META-INF /注意事项
        不包括META-INF /许可证
        不包括META-INF / LICENSE.TXT
        不包括META-INF / NOTICE.txt
        不包括META-INF / ASL2.0
        排除的LICENSE.txt
    }
}



robolectric {
    包括** / * Test.class
}
 

下面是完整的堆栈跟踪:

  02-17 19:01:09.752:E / AndroidRuntime(2079):致命异常:主要
02-17 19:01:09.752:E / AndroidRuntime(2079):工艺:com.mypackage,PID:2079
02-17 19:01:09.752:E / AndroidRuntime(2079):java.lang.NoClassDefFoundError的:失败的分辨率:LCOM / mypackage中/活动/ MainActivity;
02-17 19:01:09.752:E / AndroidRuntime(2079):在cmypackage.application.ApplicationContextProvider.onCreate(来源不明)
02-17 19:01:09.752:E / AndroidRuntime(2079):在android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1011)
02-17 19:01:09.752:E / AndroidRuntime(2079):在android.app.ActivityThread.handleBindApplication(ActivityThread.java:4518)
02-17 19:01:09.752:E / AndroidRuntime(2079):在android.app.ActivityThread.access $ 1500(ActivityThread.java:144)
02-17 19:01:09.752:E / AndroidRuntime(2079):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1339)
02-17 19:01:09.752:E / AndroidRuntime(2079):在android.os.Handler.dispatchMessage(Handler.java:102)
02-17 19:01:09.752:E / AndroidRuntime(2079):在android.os.Looper.loop(Looper.java:135)
02-17 19:01:09.752:E / AndroidRuntime(2079):在android.app.ActivityThread.main(ActivityThread.java:5221)
02-17 19:01:09.752:E / AndroidRuntime(2079):在java.lang.reflect.Method.invoke(本机方法)
02-17 19:01:09.752:E / AndroidRuntime(2079):在java.lang.reflect.Method.invoke(Method.java:372)
02-17 19:01:09.752:E / AndroidRuntime(2079):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899)
02-17 19:01:09.752:E / AndroidRuntime(2079):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
02-17 19:01:09.752:E / AndroidRuntime(2079):抛出java.lang.ClassNotFoundException:产生的原因没有找到类mypackage.activities.MainActivity的路径:DexPathList [zip文件/数据/应用/mypackage-1/base.apk"],nativeLibraryDirectories=[/vendor/lib,/系统/ lib目录]
02-17 19:01:09.752:E / AndroidRuntime(2079):在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
02-17 19:01:09.752:E / AndroidRuntime(2079):在java.lang.ClassLoader.loadClass(ClassLoader.java:511)
02-17 19:01:09.752:E / AndroidRuntime(2079):在java.lang.ClassLoader.loadClass(ClassLoader.java:469)
02-17 19:01:09.752:E / AndroidRuntime(2079):12 ...更多
02-17 19:01:09.752:E / AndroidRuntime(2079):燮pressed:java.lang.NoClassDefFoundError的:mypackage.activities.MainActivity
02-17 19:01:09.752:E / AndroidRuntime(2079):在dalvik.system.DexFile.defineClassNative(本机方法)
02-17 19:01:09.752:E / AndroidRuntime(2079):在dalvik.system.DexFile.defineClass(DexFile.java:226)
02-17 19:01:09.752:E / AndroidRuntime(2079):在dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219)
02-17 19:01:09.752:E / AndroidRuntime(2079):在dalvik.system.DexPathList.findClass(DexPathList.java:321)
02-17 19:01:09.752:E / AndroidRuntime(2079):在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
02-17 19:01:09.752:E / AndroidRuntime(2079):14 ...更多
02-17 19:01:09.752:E / AndroidRuntime(2079):燮pressed:抛出java.lang.ClassNotFoundException:mypackage.MainActivity
02-17 19:01:09.752:E / AndroidRuntime(2079):在java.lang.Class.classForName(本机方法)
02-17 19:01:09.752:E / AndroidRuntime(2079):在java.lang.BootClassLoader.findClass(ClassLoader.java:781)
02-17 19:01:09.752:E / AndroidRuntime(2079):在java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
02-17 19:01:09.752:E / AndroidRuntime(2079):在java.lang.ClassLoader.loadClass(ClassLoader.java:504)
02-17 19:01:09.752:E / AndroidRuntime(2079):13 ...更多
02-17 19:01:09.752:E / AndroidRuntime(2079):java.lang.NoClassDefFoundError的:产生的原因类不使用引导类加载器中;没有堆栈可用
 
Android ClassNotFoundException NoClassDefFoundError

编辑:以下是缺失的部分从堆栈跟踪

  02-17 19:01:09.749:I / MultiDex(2079):VM 2.1.0版本有multidex支持
02-17 19:01:09.749:I / MultiDex(2079):安装
02-17 19:01:09.749:I / MultiDex(2079):VM具有multidex支持,MultiDex支持库被禁用。
02-17 19:01:09.750:I /艺术(2079):拒绝在previously-失败类java.lang.Class&LT重新初始化; android.support.v4.app.FragmentActivity>
02-17 19:01:09.750:I /艺术(2079):拒绝在previously-失败类java.lang.Class&LT重新初始化; android.support.v4.app.FragmentActivity>
02-17 19:01:09.751:I /艺术(2079):拒绝在previously-失败类java.lang.Class&LT重新初始化; mypackage.activities.MainActivity>
02-17 19:01:09.751:I /艺术(2079):拒绝在previously-失败类java.lang.Class&LT重新初始化; mypackage.activities.MainActivity>
02-17 19:01:09.751:D / AndroidRuntime(2079):关闭虚拟机
02-17 19:01:09.751:D / AndroidRuntime(2079):--​​-------开始崩溃
 

解决方案

您会希望也请务必在这里找到了New Relic的ProGuard例外添加:https://docs.newrelic.com/docs/mobile-monitoring/mobile-monitoring-installation/android/installing-android-apps-gradle-android-studio#proguard

  -keep类com.newrelic ** {*。 }
-dontwarn com.newrelic。**
-keepattributes例外,签名,InnerClasses
 

I enabled proguard for my android app. I can build the project successfully but it crashes on startup with classNotFoundException. It doesn't even find the launcher activity. Here is my proguard rules file

-libraryjars libs

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application

-keepnames class com.mypackage.** { *; } //someone suggested this but doesn't work

# We only want obfuscation
-keepattributes InnerClasses,Signature

# Sdk
-keep public interface com.zendesk.sdk.** { *; }
-keep public class com.zendesk.sdk.** { *; }

# Appcompat and support
-keep interface android.support.v7.** { *; }
-keep class android.support.v7.** { *; }
-keep interface android.support.v4.** { *; }
-keep class android.support.v4.** { *; }

# Gson
-keep interface com.google.gson.** { *; }
-keep class com.google.gson.** { *; }

# Retrofit
#-keep class com.google.inject.** { *; }
#-keep class org.apache.http.** { *; }
#-keep class org.apache.james.mime4j.** { *; }
#-keep class javax.inject.** { *; }
#-keep class retrofit.** { *; }
#-keep interface retrofit.** { *; }

# Retrofit
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-dontwarn com.squareup.okhttp.**

-dontwarn rx.**
-dontwarn retrofit.**
-dontwarn okio.**
-keep class retrofit.** { *; }
-keepclasseswithmembers class * {
    @retrofit.http.* <methods>;
}

# Jackson
-keepattributes *Annotation*,EnclosingMethod,Signature
-keepnames class com.fasterxml.jackson.** { *; }
 -dontwarn com.fasterxml.jackson.databind.**
 -keep class org.codehaus.** { *; }
 -keepclassmembers public final enum org.codehaus.jackson.annotate.JsonAutoDetect$Visibility {
 public static final org.codehaus.jackson.annotate.JsonAutoDetect$Visibility *; }
-keep public class your.class.** {
  public void set*(***);
  public *** get*();
}

#Picasso
-dontwarn com.squareup.okhttp.**

#-dontwarn javax.management.**
#-dontwarn java.lang.management.**
#-dontwarn org.apache.log4j.**
#-dontwarn org.apache.commons.logging.**
#-dontwarn org.json.*
#-dontwarn org.apache.commons.codec.binary.Base64

#-keep class javax.** {* ; }
#-keep class org.** { *; }

-dontwarn org.mortbay.**
-dontwarn org.slf4j.**
-dontwarn org.apache.log4j.**
-dontwarn org.apache.commons.logging.**
-dontwarn org.apache.commons.codec.binary.** 

and here is my build.gradle file if that helps but it doesn't include all the dependencies. I have some jars in the libs folder as well.

apply plugin: 'com.android.application'
apply plugin: 'robolectric'
apply plugin: 'android'
apply plugin: 'newrelic'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.mypackage"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 54
        versionName "2.002"
        multiDexEnabled true
        testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner"
        resConfigs "en", "fr" , "ar"
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

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

    sourceSets {
        androidTest {
            setRoot('src/test')
        }
    }

    dexOptions {
        javaMaxHeapSize "4g"
    }

    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }

    repositories{
        maven { url 'https://zendesk.artifactoryonline.com/zendesk/repo' }
    }

    repositories {
        mavenCentral()
    }

    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        compile 'com.android.support:appcompat-v7:21.+'
        compile 'com.github.chrisbanes.photoview:library:1.2.3'
        compile 'com.etsy.android.grid:library:1.0.5'
        compile 'com.facebook.android:facebook-android-sdk:3.21.1'
        compile 'com.google.android.gms:play-services-base:6.5.+'
        compile 'com.google.android.gms:play-services-wallet:6.5.+'
        compile 'com.google.android.gms:play-services-ads:6.5.+'
        compile 'com.google.android.gms:play-services-maps:6.5.+'
        compile 'com.google.android.gms:play-services-drive:6.5.+'
        compile 'com.google.android.gms:play-services-appindexing:6.5.+'
        compile 'com.google.android.gms:play-services-location:6.5.+'
        compile 'com.google.android.gms:play-services-identity:6.5.+'
        compile 'com.google.android.gms:play-services-plus:6.5.+'
        compile 'com.android.support:multidex:1.0.+'
        compile project(':Adjust')
        compile project(':aFileChooser-cbccac1d1cb74a6d57d25c5ded61e4bf4fc40c91')
        compile 'com.parse.bolts:bolts-android:1.+'
        compile 'com.squareup.picasso:picasso:2.4.0'
        compile 'com.android.support:recyclerview-v7:+'
        compile (group: 'com.zendesk', name: 'sdk', version: '1.0.0.1'){
            //    exclude group:'picasso'
        }
        compile 'com.android.support:recyclerview-v7:+'
        compile 'com.newrelic.agent.android:android-agent:4.+'
        compile 'com.fasterxml.jackson.core:jackson-databind:2.4.2'
        compile 'com.fasterxml.jackson.core:jackson-annotations:2.4.2'
        compile 'com.fasterxml.jackson.core:jackson-core:2.4.2'


        /*compile ('oauth.signpost:signpost-commonshttp4:1.2.1.2') {
            exclude module: 'commons-logging'
            exclude module: 'httpcore'
            exclude module: 'httpclient'
        }
        compile ('oauth.signpost:signpost-core:1.2.1.2') {
            exclude module: 'commons-codec'
        }*/

        androidTestCompile 'org.robolectric:robolectric:2.4'
        androidTestCompile('junit:junit:4.12')
        androidTestCompile('org.mockito:mockito-core:1.10.19')

    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/ASL2.0'
        exclude 'LICENSE.txt'
    }
}



robolectric {
    include '**/*Test.class'
}

Here is the full stack trace:

02-17 19:01:09.752: E/AndroidRuntime(2079): FATAL EXCEPTION: main
02-17 19:01:09.752: E/AndroidRuntime(2079): Process: com.mypackage, PID: 2079
02-17 19:01:09.752: E/AndroidRuntime(2079): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/mypackage/activities/MainActivity;
02-17 19:01:09.752: E/AndroidRuntime(2079):     at cmypackage.application.ApplicationContextProvider.onCreate(Unknown Source)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1011)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4518)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at android.app.ActivityThread.access$1500(ActivityThread.java:144)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1339)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at android.os.Handler.dispatchMessage(Handler.java:102)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at android.os.Looper.loop(Looper.java:135)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at android.app.ActivityThread.main(ActivityThread.java:5221)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at java.lang.reflect.Method.invoke(Native Method)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at java.lang.reflect.Method.invoke(Method.java:372)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
02-17 19:01:09.752: E/AndroidRuntime(2079): Caused by: java.lang.ClassNotFoundException: Didn't find class "mypackage.activities.MainActivity" on path: DexPathList[[zip file "/data/app/mypackage-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
02-17 19:01:09.752: E/AndroidRuntime(2079):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
02-17 19:01:09.752: E/AndroidRuntime(2079):     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
02-17 19:01:09.752: E/AndroidRuntime(2079):     ... 12 more
02-17 19:01:09.752: E/AndroidRuntime(2079):     Suppressed: java.lang.NoClassDefFoundError: mypackage.activities.MainActivity
02-17 19:01:09.752: E/AndroidRuntime(2079):         at dalvik.system.DexFile.defineClassNative(Native Method)
02-17 19:01:09.752: E/AndroidRuntime(2079):         at dalvik.system.DexFile.defineClass(DexFile.java:226)
02-17 19:01:09.752: E/AndroidRuntime(2079):         at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219)
02-17 19:01:09.752: E/AndroidRuntime(2079):         at dalvik.system.DexPathList.findClass(DexPathList.java:321)
02-17 19:01:09.752: E/AndroidRuntime(2079):         at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
02-17 19:01:09.752: E/AndroidRuntime(2079):         ... 14 more
02-17 19:01:09.752: E/AndroidRuntime(2079):     Suppressed: java.lang.ClassNotFoundException: mypackage.MainActivity
02-17 19:01:09.752: E/AndroidRuntime(2079):         at java.lang.Class.classForName(Native Method)
02-17 19:01:09.752: E/AndroidRuntime(2079):         at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
02-17 19:01:09.752: E/AndroidRuntime(2079):         at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
02-17 19:01:09.752: E/AndroidRuntime(2079):         at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
02-17 19:01:09.752: E/AndroidRuntime(2079):         ... 13 more
02-17 19:01:09.752: E/AndroidRuntime(2079):     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

Edit: Below is the missing part from the stacktrace.

02-17 19:01:09.749: I/MultiDex(2079): VM with version 2.1.0 has multidex support
02-17 19:01:09.749: I/MultiDex(2079): install
02-17 19:01:09.749: I/MultiDex(2079): VM has multidex support, MultiDex support library is disabled.
02-17 19:01:09.750: I/art(2079): Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.app.FragmentActivity>
02-17 19:01:09.750: I/art(2079): Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.app.FragmentActivity>
02-17 19:01:09.751: I/art(2079): Rejecting re-init on previously-failed class java.lang.Class<mypackage.activities.MainActivity>
02-17 19:01:09.751: I/art(2079): Rejecting re-init on previously-failed class java.lang.Class<mypackage.activities.MainActivity>
02-17 19:01:09.751: D/AndroidRuntime(2079): Shutting down VM
02-17 19:01:09.751: D/AndroidRuntime(2079): --------- beginning of crash

解决方案

You'll want to also make sure to add in the New Relic proguard exceptions found here: https://docs.newrelic.com/docs/mobile-monitoring/mobile-monitoring-installation/android/installing-android-apps-gradle-android-studio#proguard

-keep class com.newrelic.** { *; }
-dontwarn com.newrelic.**
-keepattributes Exceptions, Signature, InnerClasses