带有 appbundle 和 PROGUARD 的动态功能不起作用

San*_*iya 5 android runtime-error proguard android-app-bundle dynamic-feature-module

概述:
由于 proguard,我在从基本模块访问按需动态功能模块的活动时遇到问题。(很可能我猜)

描述:
我已经实现了一个带有应用程序包的按需动态功能模块并上传到 Play 商店。
使用自定义规则实现了 proguard。
从 Play 商店下载应用程序并在运行时访问该模块后,该模块将被下载。刚下载后,我就收到了从我的基本模块到该动态模块访问活动的调用。
我收到如下错误

...
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{xxx.yyyyyy.zzzzzz.stage/xxx.yyyyyy.zzzzzz.apphub.appview.view.AppHubActivity}:
java.lang.ClassNotFoundException: Didn't find class "xxx.yyyyyy.zzzzzz.apphub.appview.view.AppHubActivity"
on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file 
...
...
Run Code Online (Sandbox Code Playgroud)

仅供参考:
xxx.yyyyyy.zzzzzz 是我为了隐私而更改的包名称。

讽刺:
这整个代码在调试中运行良好,同时从本地的应用程序包访问它而没有 proguard

我已经尝试了下面的所有链接来克服这个问题,但不能。
1)https://issuetracker.google.com/issues/120517460
2)https://github.com/android/plaid/issues/764
3)java.lang.NoClassDefFoundError:解析失败:Lorg/apache/http/协议版本
4) https://issuetracker.google.com/issues/79478779
5) https://github.com/android/app-bundle-samples/issues/17

我也尝试了我们可以使用的所有类型的 proguard 文件,但仍然无能为力。
还保留了 proguard 中的两个类:基本和动态模块活动类,但没有成功。
希望在这里寻找解决方案。

更新:
不适用于 android OS 8,9,但适用于 android 10 的文件。

Pie*_*rre 0

确保在点播模块的活动和应用程序中使用 SplitCompat。

请参阅https://developer.android.com/guide/playcore#access_downloaded_modules,其中更详细地解释了如何执行此操作。