今天换了一个测试机是华为H60-L01 系统是4.4.2的,项目刚一运行就闪退了,打开log什么也看不到于是
打开手机拨号键盘输入
*#*#2846579#*#*
我靠竟然全是英文的,跟之前的不一样啊,不慌顺序还是没变的
点击第二个 ProjectMenu 中文了。
再次点后台设置
Log设置
嗯这个只有打开log和关闭 ,那就LOG打开呗
好了看到错误了
java.lang.RuntimeException: Unable to instantiate application com.cmcm.teacherconsumers.app.ODApplication: java.lang.ClassNotFoundException: Didn't find class "com.cmcm.teacherconsumers.app.ODApplication" on path: DexPathList[[zip file "/data/app/com.cmcm.teacherconsumers-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.cmcm.teacherconsumers-1, /vendor/lib, /system/lib, /data/datalib]]
挺长的,以我经验来看是的 ,是分包导致的问题,错误复制到google竟然 告诉我找不到相关的。。。。。这个时候突然感觉还是百度好使了,百度一下,我去有是有但不是问题所在啊。没办法只好自己想办法了
关键字搜一下 android 分包 4.0手机 ClassNotFoundException
嗯 原来是我分包没有在application中初始化导致的。
先说一下分包的依赖和操作顺序,记录一下免得以后再踩坑
app --build dependecies添加
//noinspection GradleCompatible
implementation 'com.android.support:multidex:1.0.3'
defaultConfig 里面添加
multiDexEnabled true
别忘了最后一步 新建一个自己的application 继承application
重写
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
}
别忘了清单注册一下哦
<application
android:name=".app.你的application"...../>
好了再试一下 ok完美