您的位置:首页 > 移动开发 > Android开发

Android 5.0以下出现java.lang.NoClassDefFoundError错误

2017-02-14 18:28 495 查看
公司面向第三方的SDK出现 java.lang.NoClassDefFoundError 之类的崩溃,但只有一个用户出现,机型系统主要出现在4.x,在stack
overflow看到主要是 5.0以下一些手机对Android程序的方法数超出了65535造成的崩溃。解决办法如下:

在Model的build.gradle中的defaultConfig
中声明 multiDexEnabled true,在依赖中添加 compile 'com.android.support:multidex:1.0.1',配置信息如下:部分信息根据自己环境配置

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.xxx.xxx"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
multiDexEnabled true
}
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
配置完成之后Application
继承 MultiDexApplication,然后AndroidManifest.xml声明继承的Application。

如果你的Application已经继承了其他类并且不想做改动,那么还有另外一种使用方式,覆写attachBaseContext()方法:

public class MyApplication extends FooApplication {

@Override

protected void attachBaseContext(Context base) {

super.attachBaseContext(base);

MultiDex.install(this);

}

}

配置完成Clean Project,Rebuild Project然后再打包测试发版。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: