解决Android 5.0以下出现 java.lang.NoClassDefFoundError

本文介绍了解决Android应用因Dex文件方法数超过65536限制而导致的问题。通过配置Gradle启用multiDex并自定义Application类继承MultiDexApplication,重写attachBaseContext方法来安装MultiDex。

本文参考自:Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚

作者:时之沙

问题的主要原因:方法数超65536限制。

测试6.0手机没问题,4.4上面就有问题了。导致出现以上错误崩溃。

解决方法:

一、配置build.gradle

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId ""
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0.0"
        multiDexEnabled true
    }
dependencies {
   compile 'com.android.support:multidex:1.0.0'
}

二、( 1).使用自定义的Application继承MultiDexApplication类。

      ( 2).重写Application的方法attachBaseContext(),调用MultiDex.install()。

@Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(base);
    }

三、到项目的根目录下执行 ./gradlew clean build




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值