错误代码如下:
java.lang.VerifyError:com/alibaba/android/arouter/launcher/_ARouter
atcom.alibaba.android.arouter.launcher.ARouter.openDebug(ARouter.java:71)
见截图
产生原因: 开启了分包
解决办法:
解决方法:在主项目gradle文件下去掉multiDexEnabled 配置,
或者将multiDexEnabled设置为false 后记:我以为这样就完了, 但是今天我发现根本原因却是另外一个 项目主(壳)工程里面有一个Application ,然后依赖的基础工程中也有一个BaseApplication, 需要让主工程的Application继承基础工程的中的BaseApplication 重点代码
public class FrameApplication extends BaseApplication { @Override public void onCreate() { super.onCreate(); init(); } private void init() { if (BuildConfig.DEBUG) { //开启InstantRun之后,一定要在ARouter.init之前调用openDebug ARouter.openDebug(); ARouter.openLog(); } ARouter.init(BaseApplication.getInstance()); } }
这样分包不分包设置都不会影响了
项目结构图如下