如何防止 Dexguard 混淆 android studio 中的资源文件夹?
Posted
技术标签:
【中文标题】如何防止 Dexguard 混淆 android studio 中的资源文件夹?【英文标题】:How to prevent Dexguard from obfuscating the resources folder in anroid 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 但还是一样
【参考方案1】:
为了使所有资源文件不被 DexGuard 混淆,请使用如下规则
-keepresourcefiles res/**
【讨论】:
以上是关于如何防止 Dexguard 混淆 android studio 中的资源文件夹?的主要内容,如果未能解决你的问题,请参考以下文章