Отражение не удается в подписанной сборке Android - PullRequest
1 голос
/ 08 мая 2020

Я модулирую наш текущий проект.

Допустим, есть модуль приложения.

И число других модулей 'n'. Эти модули реализуют модуль приложения (т.е. проект реализации (': app_module'))

Из модуля приложения мне нужно запустить модуль 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

Есть идеи, что вызывает сбой отражения в Подписанная отладочная сборка ?

Примечание : это не защитник вопрос. Я отключил и проверил. Та же проблема.

Спасибо.

1 Ответ

0 голосов
/ 14 мая 2020

Обновление: проблема заключалась в том, что модуль рассматривался как динамический c модуль.

Причиной проблемы было dist:onDemand="true" в манифесте модуля.

Я установил для него значение false и сгенерировал пакет приложений и установил его через bundletool. Теперь он работает нормально.

...