如何修复资源重新映射警告

时间:2019-01-17 17:39:17

标签: android proguard

我有一个带有2个AAR模块的Android项目-A和B。 模块A使用模块B。

我混淆了这两个模块,因此为了使模块A使用模块B,我在A的保护规则中添加了以下内容:-applymapping ../moduleB/build/outputs/mapping/release/mapping.txt

当尝试在Windows上进行构建时,第一次构建始终会失败,并显示以下警告:

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'

当我再次构建时,构建成功。

如果我手动删除moduleA和moduleB的build文件夹并成功构建它。

查看mappings.txt文件,我发现proguard映射了moduleB的资源(资源成员和新名称之间存在映射)。

所以我认为,也许这是proguard中的一个错误,即使它没有被混淆,它也会导致它写资源映射。

如何防止proguard混淆资源,还是有更好的方法来混淆2个依赖另一个的AAR库?

0 个答案:

没有答案