如何仅混淆少数类或单个包?
Posted
技术标签:
【中文标题】如何仅混淆少数类或单个包?【英文标题】:How to obfuscate only few class or a single package? 【发布时间】:2012-08-07 10:59:20 【问题描述】:我不会混淆我的所有项目,而只会混淆最关键的类。 如何编写 proguard 文件以排除所有项目并仅混淆单个类或单个包?
【问题讨论】:
只混淆 1 个类/包的原因是什么?对此类/包的调用也应该被混淆! 【参考方案1】:请在投票前阅读答案。你需要 !上课前。
看看Proguard Manual:Keep option
部分和android example。
例子:
-keeppackagenames com.vtcmobile
! com.yourpackage.CategoryParser // keep package com.vtcmobile excluded class com.vtcmobile.CategoryParser
编辑:使用
-keeppackagenames [package_filter] 指定不混淆给定的包名称。可选过滤器是以逗号分隔的包名称列表。包名可以 包含 ?、* 和 ** 通配符,并且它们可以前面有 ! 否定符。仅在混淆时适用。
【讨论】:
这只会保留扩展 Activity 的类并排除一个类,我的目标是排除所有项目并仅混淆一个类。 保持意味着保持不混淆以上是关于如何仅混淆少数类或单个包?的主要内容,如果未能解决你的问题,请参考以下文章
如何仅混淆 com.foo.* 和 com.bar.* (ProGuard)?