ОБЗОР:
Я сталкиваюсь с проблемой при доступе к активности динамического c функционального модуля по требованию из базового модуля из-за proguard. (Скорее всего, я думаю)
ОПИСАНИЕ:
Я реализовал ON-DEMAND dynamici c функциональный модуль с комплектом приложений и загружен в игровой магазин .
Реализован proguard с пользовательскими правилами.
После загрузки приложения из магазина воспроизведения и доступа к этому модулю во время выполнения, модуль загружается. Сразу после загрузки я получил вызов для доступа к активности из моего базового модуля в этот динамический c модуль.
Я получаю сообщение об ошибке, как показано ниже
...
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
...
...
FYI:
xxx.yyyyyy.zzzzzz - это мое измененное имя пакета для конфиденциальности.
IRONY:
Весь этот код отлично работает при отладке при доступе к нему из пакет приложений локально без proguard .
Я пробовал все ссылки ниже, чтобы преодолеть это, но не смог.
1) https://issuetracker.google.com/issues/120517460
2) https://github.com/android/plaid/issues/764
3) java .lang.NoClassDefFoundError: сбой разрешения: Lorg / apache / http / ProtocolVersion
4) https://issuetracker.google.com/issues/79478779
5) https://github.com/android/app-bundle-samples/issues/17
Я также пробовал все типы файлов proguard, которые мы можем использовать, но все еще беспомощные.
Также сохранил, что оба класса в proguard: базовый и динамический c класс активности модуля, но безуспешно.
Надеемся найти решение здесь.
* 105 5 *
ОБНОВЛЕНИЕ: не работает в android ОС 8,9, но рабочий файл в android 10.