【问题标题】:How to prevent Dexguard from obfuscating the resources folder in anroid studio?如何防止 Dexguard 混淆 android studio 中的资源文件夹?
【发布时间】:2019-12-08 19:11:35
【问题描述】:

我想保留 \res 文件夹,所以 dexguard 不会混淆这个 \res 目录。因为 dexguard 正在重命名所有文件,并且某些文件最后有空间,这对我来说是个大问题,所以我试图保留res/ 文件夹是未混淆的。

我已经一一尝试了所有这些以检查它是否有效,但我未能使整个 res/ 文件夹免受混淆

-keep class *.R$
-keepnames class com.safarifone.waafi.R$raw { *; }

-keep class **.R$* {
    <fields>;
}

-keeppackagenames com.safarifone.waafi.R$

-keepresources res/**

-keepdirectories MyAccountApp/src/main/res/*


-keepattributes InnerClasses
 -keep class **.R
 -keep class **.R$* {
    <fields>;
}

-keepclassmembers class **.R$* {
     public static <fields>;
}
-keep class **.R$*

-keepnames class com.safarifone.waafi.R$layout { *; }
-keep public class com.safarifone.waafi.R$layout { *; }

【问题讨论】:

  • 确保你没有 shrinkResources true 在 build gradle
  • @BachVu 是的,我的构建 gradle 中没有 shrinkResource true
  • @BachVu 即使我尝试过使用 -dontshrink 但还是一样

标签: android android-studio proguard dexguard


【解决方案1】:

为了使所有资源文件不被 DexGuard 混淆,请使用如下规则

-keepresourcefiles res/**

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 2015-05-15
    • 2019-03-19
    • 1970-01-01
    相关资源
    最近更新 更多