签名构建中的反射失败 Android

Reflection fails in signed build Android

我正在模块化我们正在进行的项目。

假设有一个应用程序模块。

和'n'个其他模块。 这些模块实现应用程序模块(即实现项目(':app_module'))

我需要从应用程序模块启动模块 1..n

我使用反射在 app_module 中获取了 activity 引用。

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 安装了它。现在一切正常。