Как починить ресурсы, переназначить предупреждение - PullRequest
0 голосов
/ 17 января 2019

У меня есть проект Android с 2 модулями AAR - A и B. Модуль A использует модуль B.

Я запутываю оба модуля, поэтому, чтобы модуль A использовал модуль B, я добавил следующее в правила защиты A: -applymapping ../moduleB/build/outputs/mapping/release/mapping.txt.

При попытке собрать в Windows первая сборка всегда заканчивается неудачей с такими предупреждениями Proguard:

Warning: io.objectbox.android.R$drawable: field 'int 
objectbox_notification' is not being kept as 'objectbox_notification', but remapped to 'a'
Warning: com.company.moduleB.R$styleable: field 'int DrawerArrowToggle_barLength' is not being kept as 'DrawerArrowToggle_barLength', but remapped to 'dr'

Когда я строю снова, сборка завершается успешно.

Если я вручную удаляю папки сборки модуля A и moduleB и его сборка завершается успешно.

Глядя на файл mappings.txt, я вижу, что Proguard отображает ресурсы модуля B (между членами ресурса и новым именем есть сопоставления).

Так что я думаю, что, возможно, это ошибка в proguard, которая заставляет его писать сопоставления ресурсов, даже если они не были запутаны.

Как я могу запретить proguard запутывать ресурсы или есть лучший способ запутать 2 библиотеки AAR, где одна зависит от другой?

...