我正在将我们正在进行的项目模块化。
比如说有一个应用模块。
还有'n'个其他模块。这些模块实现了app模块(即实现项目(':app_module'))
在app模块中,我需要启动模块1...n。
我已经使用反射来获取app_module中的活动引用。
val intent = Intent()
intent.setClass(context, Class.forName("com.application.myapp.HelpActivity"))
context.startActivity(intent)
所以当我运行应用程序时,它工作正常。
但是当我生成一个 签定的调试构建 我安装了它,我得到了 ClassNotFoundException
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.application.myapp.HelpActivity" on path: DexPathList
知道是什么原因导致反射失败吗?签定的调试构建
注: 这不是亲卫队的问题。我已经禁用了它,我已经检查过了。同样的问题是存在的。
谢谢你,我正在把我们正在进行的项目模块化。
更新:该问题是因为该模块被视为动态模块。
导致该问题的原因是 dist:onDemand="true"
模块的清单中。
我把它设置为false,然后通过bundletool生成应用捆绑包并安装。现在工作正常了。