将 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 设置为仅混淆我的应用程序包的主要内容,如果未能解决你的问题,请参考以下文章
使用 proguard 的 Android 混淆应用程序会不断混淆库 jar - 是吗?
是否添加“ minifyEnabled true”和“ proguard-android-optimize.txt”混淆了sqlite数据库并使其与以前的版本不兼容?