Устранение неисправностей Android R8 Build - PullRequest
1 голос
/ 12 февраля 2020

Мне нужна помощь в выяснении проблемы при создании моего приложения с R8. У меня есть служба, которая выполняет работу, а затем прекращает работу. Однако, когда я использую R8 вместо Proguard, сервис никогда не прекращается. Единственный способ заставить сборку R8 работать - это оставить класс android .util.Log, в частности закомментировать бит:

-assumenosideeffects class android.util.Log {
    public static *** v(...);
    public static *** d(...);
    public static *** i(...);
    public static *** w(...);
    public static *** e(...);
}

Может кто-нибудь пролить свет на то, что делает R8 что вызывает такое поведение или направляет меня в правильном направлении? Или проблема с фрагментом предполагаемого эффекта?

1 Ответ

1 голос
/ 08 апреля 2020

Похоже, что R8 удалил важный код при создании вашего проекта. Пожалуйста, добавьте -printusage {output-dir}/usage.txt в ваш файл proguard-rules.pro, затем создайте проект и после этого проверьте файл usage.txt - он содержит отчет об удаленном коде. Теперь вы можете попробовать еще несколько пользовательских правил хранения, чтобы решить эту проблему.

Пожалуйста, укажите этот блог для R8 https://medium.com/better-programming/shrink-your-android-app-with-r8-afe17c4d393

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...