alibaba / ARouter

💪 A framework for assisting in the renovation of Android componentization (帮助 Android App 进行组件化改造的路由框架)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Arouter 初始化报错:NoClassDefFoundError

hust-twj opened this issue · comments

为了加快编译速度,我把 BaseActivity 放在底层的 base 模块,然后将这个 base 模块 AAR 化并上传到了 maven,上层的 app 模块依赖了这个 base AAR 仓库地址,不依赖源码,编译没问题,但是运行起来就报错,arouter 初始化的时候,init() 方法找不到这个 BaseActivity,有没有啥解决思路呀?

看了arouter 的 issue 还是没有解决,kapt 啥的也加上了,module 目录层级也没问题~~

下面是出错的堆栈:

Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/wepie/ivy/business/base/BaseActivity;
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at com.alibaba.android.arouter.core.LogisticsCenter.addRouteGroupDynamic(LogisticsCenter.java:362)
at com.alibaba.android.arouter.core.LogisticsCenter.completion(LogisticsCenter.java:238)
at com.alibaba.android.arouter.launcher._ARouter.navigation(_ARouter.java:268)
at com.alibaba.android.arouter.launcher.ARouter.navigation(ARouter.java:174)
at com.alibaba.android.arouter.launcher._ARouter.navigation(_ARouter.java:285)
at com.alibaba.android.arouter.launcher.ARouter.navigation(ARouter.java:186)
at com.alibaba.android.arouter.facade.Postcard.navigation(Postcard.java:148)
at com.alibaba.android.arouter.facade.Postcard.navigation(Postcard.java:139)
at com.alibaba.android.arouter.facade.Postcard.navigation(Postcard.java:130)
at com.alibaba.android.arouter.launcher._ARouter.afterInit(_ARouter.java:247)
at com.alibaba.android.arouter.launcher.ARouter.init(ARouter.java:46)
at com.wepie.ivy.business.startup.ARouterInitializer.create(ARouterInitializer.kt:22)
at com.wepie.ivy.business.startup.ARouterInitializer.create(ARouterInitializer.kt:12)
at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:180)
at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:138) 
at androidx.startup.AppInitializer.initializeComponent(AppInitializer.java:117) 
at com.wepie.ivy.business.application.IvyApplication.onCreate(IvyApplication.kt:95) 

不是 Arouter 的问题,是依赖了 dokit 导致的