У меня есть проект 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, где одна зависит от другой?