2019-1-21--25问题及解决方案

Android java.lang.NoClassDefFoundError

5.0系统以下手机运行时报错误:Android java.lang.NoClassDefFoundError
问题原因:

此错误与java.lang.ClassNotfoundException不同,java.lang.ClassNotfoundException是因为Java虚拟机在编译时未找到错误类。而
java.lang.NoClassDefFoundError是因为java虚拟机在编译时已经找到了该类,但是在运行时不能找到合适的类。

解决方法:

首先查看是否是在任何版本的手机上都会出现此问题,如果是,那么可能原因有:  
1、因为包名错误引起的。  
2、加载了该类但是运行时该类不可用,比如:在app中引用了lib库,lib库中通过implementation依赖了第三方库,那么当我在app中调用第三方库中的类时,则会出现此错误  

如果只有5.0以下手机会出现此情况,那么是因为65535问题,解决方案如下:
[link](https://developer.android.com/studio/build/multidex)

注意:出现此问题,即使没有引入application,也要创建一个新的application继承MultiDexApplication才行

gitlab派生项目达到上限

使用gitlab时,如果派生的库达到上限而又不能申请增加派生库数量时,可以选择删除不需要经常使用的库,具体方法如下:

1、点击右上角的个人头像,选择Profile  
2、进去后点击Personal projects,进入后可以看到自己已经派生的所有项目
3、点击选择要删除的库,进入后选择Settings  
4、点击Remove fork relationship,这里会让你再把库名字输入进去来进行确认操作,输入完成后点击Confirm进行确认  
5、可以看到会出一个提示:派生关系已经被删除,到这里还没有结束
6、此页面的最下方有一个Remove project,点击remove后,该库正式从我们的派生项目中删除,之后就可以继续派生其他项目(此处删除的只是我们的派生库,并不是将库从gitlab中删除,通常情况下我们也没有这个权限,所以放心大胆的删除就好了)


你可能感兴趣的:(异常处理)