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 的文件。
确保在点播模块的活动和应用程序中使用 SplitCompat。
请参阅https://developer.android.com/guide/playcore#access_downloaded_modules,其中更详细地解释了如何执行此操作。
| 归档时间: |
|
| 查看次数: |
794 次 |
| 最近记录: |