摘要:本文将带你了解Android应用开发Android 分包导致低于5.0版本报错ClassNotFoundException,希望本文对大家学Android有所帮助。
本文将带你了解Android应用开发Android 分包导致低于5.0版本报错ClassNotFoundException,希望本文对大家学Android有所帮助。
Android 分包导致低于5.0版本报错ClassNotFoundException
项目在4.4系统运行就报错,在5.0以上没问题。原因就是 报错ClassNotFoundException
方法数超64K(1K=1024,65536刚好是64K);需要分包操作
解决方案
1、在module下的build.gradle文件 ,添加multiDexEnabled true
defaultConfig {
applicationId com.haxi.mh
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName 1.0.0
testInstrumentationRunner android.support.test.runner.AndroidJUnitRunner
// dex突破65535的限制
multiDexEnabled true
ndk {
// 设置支持的SO库架构
abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}
}
2.兼容低版本
//分包兼容低版本
dexOptions {
javaMaxHeapSize 4g
jumboMode = true
}
3.添加依赖包
/* multidex兼容包,配合AndroidStudio实现了一个APK包含多个dex的功能 */
compile 'com.android.support:multidex:1.0.1'
4.让自己的Application继承MultiDexApplication类,或者在Application下重新attachBaseContext(Context base)方法,初始化 MultiDex.install(this);
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号