R8 удаляет целые классы, чего не следует делатьAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 R8 удаляет целые классы, чего не следует делать

Сообщение Anonymous »

После миграции Gradle с версии 8.4 на 8.9 и плагина Gradle с версии 8.3.2 на 8.7.0 R8 не удается создать APK подписанного выпуска.

Код: Выделить всё

Missing class com.my.package.MyClass$Companion (referenced from: void common.my.package.workers.SyncWorker.(android.content.Context, androidx.work.WorkerParameters, com.my.package.Dao))
Он терпит неудачу, поскольку отсутствует еще много классов. Я добавил -keep class com.my.package.** { *; к модулю приложения (в proguard-rules.txt) и к другим моим модулям (в Consumer-rules.txt), но безрезультатно. Я также добавил android.enableR8.fullMode=false в свой gradle.properties, но это ничего не изменило. Android Studio создает файл Missing-rules.txt с набором -dontwarn, который позволяет сборке пройти, но приложение сразу же вылетает с той же ошибкой отсутствия классов.
Любая идея как я могу это исправить? Я вижу в документации, что

Подробнее здесь: https://stackoverflow.com/questions/791 ... t-shouldnt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»