将 ProGuard 设置为仅混淆我的应用程序包

Posted

技术标签:

【中文标题】将 ProGuard 设置为仅混淆我的应用程序包【英文标题】:Setting ProGuard to obfuscate only my app's package 【发布时间】:2016-09-22 20:43:22 【问题描述】:

尝试使用 ProGuard 进行混淆,但出现 3rd 方库错误,因此我将每个包一一排除:

   -keepclassmembers class android.** *;
   -keepclassmembers interface android.** *;

   -keepclassmembers class com.google.** *;
   -keepclassmembers interface com.google.** *;

有没有办法只将我的包名列入白名单?

com.dht.github.myApp

【问题讨论】:

【参考方案1】:

根据您的代码,您只是保留班级成员而不是整个班级。 使用它来保持课程不变。

-keep class com.google.** *;

-keep interface com.google.** *;

您也可以使用此行仅混淆您自己的类并保留其他所有内容。

-keep class !com.yourpackage.**,!com.youranotherpackage.** *;

【讨论】:

好吧,我想我可以用它来避免处理每个 3rd 方库的 proguard 规则,但它们仍然崩溃..

以上是关于将 ProGuard 设置为仅混淆我的应用程序包的主要内容,如果未能解决你的问题,请参考以下文章