Построение подписанного APK сборки сборки завершается неудачно, но отладка завершается успешно. Пропавший класс - PullRequest
0 голосов
/ 06 мая 2019

При сборке подписанного APK для моего приложения, если я выбрал отладочную сборку, он прекрасно компилируется, но когда я выбираю сборку релиза, он находится на

: приложение: transformClassesAndResourcesWithR8ForRelease

и там написано

Вызвано: java.lang.OutOfMemoryError: Превышен предел накладных расходов GC

а также

AGPBI: {"kind": "warning", "text": "Отсутствует класс android.arch.paging.PositionalDataSource», "источники": [{}], "инструмент": "D8"}

Я попытался добавить в свой build.gradle (модуль)

dexOptions{
    javaMaxHeapSize "8g"
}

, а также добавление игнорирования в proguard.cfg

ПРИМЕЧАНИЕ: я использую MacOS, если это может иметь какое-либо отношение к нему

1 Ответ

0 голосов
/ 06 мая 2019

Proguard (который включен по умолчанию для сборок релизов, если я не ошибаюсь) следует использовать очень осторожно.

ЛЮБОЙ код, использующий отражение, может перестать работать, если запутан, поэтому, если вы действительно хотите использовать Proguard - вам нужно определить, какие классы должны использоваться с отражением, и исключить (оставить как есть) их.

Больше информации здесь: https://www.guardsquare.com/en/products/proguard/manual/examples.

Удачи.

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