在高版本android 系统上发生空指针异常或者不能接收消息,改用leakcanary 1.5
在复杂应用上
当dex分包遇上NoClassDefFoundError&ClassNotFoundException
一. 如果你继承了MutiDexApplication或者覆写了Application中的attachBaseContext()方法.
Application类中逻辑的注意事项:
Application 中的静态全局变量会比MutiDex的 instal()方法优先加载,所以建议避免在Application类中使用静态变量引用main classes.dex文件以外dex文件中的类,可以根据如下所示的方式进行修改:
分包主要是因为包太大了,低端手机安装可能会失败,或者Dex加载的时候会崩溃,所以分成多个包,跟启动相关的放在主Dex,其余的不那么紧急的放在副Dex,然后启动的时候去动态加载。
首先来看看主Dex,所谓跟启动相关的主要就是四大组件,所以四大组件直接引用到的类都要放在主Dex中,否则启动时找不到类就悲剧了,毕竟动态加载副Dex可能会挺耗时的。Android Studio的build tool会自动帮你完成分包,将Android Manifest中定义的四大组件直接引用到的类都放在主Dex中,其余的丢到副Dex。不过也不保证百分百没问题,比如你用反射或者So引用副Dex中的类也许这个脚本就会瞎掉了。当然我们也可以自己写个脚本去分析APP启动需要引用到的类,方法是在APP启动完毕时打出ClassLoader中所有已加载过的类就行了。
都不是以上原因
当在
dependencies中配置aar 文件,运行时会出现classnotfound exception
但若是AS能联网配置,就不会出错
配置HTTP Proxy
Host name: mirrors.neusoft.edu.cnPort number: 80