#android #android-r8
#Android #android-r8
Вопрос:
Я сталкиваюсь с некоторыми проблемами при компиляции релизной версии моего приложения.
В настоящее время я использую Room, и у меня есть классы моделей, которые находятся под:
com.example.room.entity
и для того, чтобы приложение работало, я использую правило proguard
-keepattributes *Annotation*,SourceFile,LineNumberTable
-keep class com.example.room.entity.**.* { *; }
Как только я создаю версию и запускаю на своем телефоне сбой приложения, и я вижу
Вызвано java.lang.ClassNotFoundException com.roommate.example.room.entity.Пользовательская идентификация
Вывод -printusage показывает мне, что класс, который я пытаюсь сохранить, несколько затронут R8.
Что я могу сделать, чтобы обеспечить соблюдение моих правил?
Ответ №1:
Попробуйте изменить вторую строку на:
-keep class com.roommate.example.room.entity.** { *; }
Комментарии:
1. Таким образом, проблема может быть окончательной. * часть? Есть особая причина?
2. @MatteoBucci Ах, нет, проблема в том, что вы сохраняете классы в,
-keep class com.example.room.entity.**.* { *; }
тогда как ваш код фактически находится вcom.roommate.example.room.entity.UserEntity
(обратите внимание на com.roommate в начале, в отличие от com.example …)