防止目录被混淆
Posted
技术标签:
【中文标题】防止目录被混淆【英文标题】:Prevent a directory from proguard obfuscation 【发布时间】:2018-05-10 10:34:46 【问题描述】:我浏览过几篇关于 proguard 混淆的 *** 帖子
How to keep/exclude a particular package path when using proguard?
How to make Proguard ignore external libraries?
How to exclude specific jars from injars during obfuscation using proguard?
但我没有找到排除特定目录以防止混淆的答案。
目录结构:
libs
=> lib1
=> a.b.c.package
A.java
B.java
=> lib2
=> d.e.f.package
C.java
D.java
=> lib3
=> g.h.i.package
E.java
F.java
我不想在 -keep
选项中为每个包名称添加多行,而是想从混淆中排除整个 libs 包。
有什么方法可以阻止对特定目录 libs 的混淆,如下所示?
有没有办法从混淆中排除 java 运行时类?
【问题讨论】:
【参考方案1】:在 proguard-rules.pro 文件的顶部添加以下行:
-keeppackagenames your.complete.packagename
【讨论】:
【参考方案2】:如果您的意思是目录是包,那么在 proguard-rules.pro 中添加以下行:
-keep class com.example.something.packageName.** *;
【讨论】:
我在根目录下有很多子目录(比如 libs),实际的包名从子目录开始以上是关于防止目录被混淆的主要内容,如果未能解决你的问题,请参考以下文章