stackoverflow上找到了答案:
-keepattributes Exceptions,InnerClasses,...
-keep class [packagename].A{
*;
}
-keep class [packagename].A$* {
*;
}
其中 A$* 表示所有A的内部类都保留下来,也可以如下使用:
[html] view plaincopy在CODE上查看代码片派生到我的代码片
-keepattributes Exceptions,InnerClasses,...
-keep class com.xxx.A{ *; }
-keep class com.xxx.A$
相关推荐
**Proguard:免费的Class文件压缩、优化与混淆工具** Proguard是一款强大的Java类文件处理工具,主要用于压缩、优化和混淆Java代码。它在Android开发中尤其重要,因为默认情况下,Android Studio会使用Proguard来...
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod ``` 这里的`-keep`规则用于指定需要保留的类或方法,避免混淆后导致运行时错误。你可以...
5. 混淆规则语法:ProGuard的配置文件支持一系列的规则语法,如-keep指保留类和成员,-dontskipnonpubliclibraryclassmembers保留非公开的库类成员等。在规则中还可以使用通配符来简化配置,例如***set***和***get**...
ProGuard能够对Java类中的代码进行压缩(Shrink),优化(Optimize),混淆(Obfuscate),预检(Preveirfy)。 1. 压缩(Shrink):在压缩处理这一步中,用于检测和删除没有使用的类,字段,方法和属性。 2. 优化...
在Proguard配置文件(通常命名为proguard.cfg或proguard-project.txt)中,我们可以使用`-keep`指令来保留特定的类、方法或注解。例如,对于SSH框架中的注解,我们需要确保它们不被混淆,因为它们是运行时需要识别的...
详细解释了 proguard-project.txt 文件中的各条语句的含义,从中可简单了解安卓软件进行混淆时的代码写法。
Maven WEB 项目使用 ProGuard 进行混淆,最佳解决方案 本文主要介绍了如何使用 ProGuard 对 Maven WEB 项目进行混淆,解决了 WEB 项目中混淆的难题。文章首先介绍了混淆的必要性,然后详细介绍了 WEB 项目的结构和 ...
-keep class com.example.yourpackage.** { *; } # 保留你的包下的所有类和成员 -dontwarn com.example.ignored.** # 忽略指定包下的警告 -keepclassmembers class * implements java.io.Serializable { static ...
然后在`proguard-rules.pro`文件中,使用`-keep`指令保持这个类不被混淆: ```proguard -keep class com.example.UnicodeSupport ``` 同时,确保在混淆配置中避免对`encodeUnicode`方法进行混淆。这样,即使其他...
-keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider ``` 这些规则告诉 ProGuard 不要混淆特定的类或方法,例如,Android 应用中的 ...
-keep class com.example.myapp.** { *; } ``` 总的来说,通过Maven和ProGuard的结合,我们可以有效地保护Java Web项目的源代码,同时优化其体积和运行效率。在实际操作中,不断调整和完善ProGuard配置,根据项目的...
java代码很容易被反编译,可通过混淆技术来保护源码,此处我们应用开源项目proguard来进行混淆。操作使用详见:http://blog.csdn.net/odian1/article/details/8282799
-keep public class com.example.yourpackage.** { *; } ``` 这行配置告诉ProGuard,`com.example.yourpackage`下的所有公共类和它们的成员变量不要被混淆。 2. **集成ProGuard到Maven工程** 要在Spring Boot的...
android proguard5.3.3混淆包 替换Jar包以后使 混淆的类名方法名变成空白 使用方法 直接 替换 5.3.3版本的 混淆jar包 Mac 路径为 Contents/gradle/m2repository/net/sf/proguard/proguard-base Win gradle/m2...
解决方案:找到proguard源码中proguard\src\proguard\classfile\ClassConstants.java类,然后修改ATTR_StackMapTable的值,将原来的的StackMapTable改为dummy.然后重新ant打包proguard。资源已经处理(源码+proguard...
-keep public class * { public static void main(java.lang.String[]); } ``` **4. 混淆规则** 混淆规则是ProGuard的核心部分。你可以使用`-keep`指令来保护特定的类、方法或字段不被混淆。例如,如果你的代码中...
-keep class com.example.yourpackage.** { *; } ``` 2. 保留特定方法不混淆: ```proguard -keepclassmembers class com.example.yourpackage.YourClass { void yourMethod(); } ``` 3. 保留注解: ```proguard ...
-keep class com.example.** { *; } # 保留com.example包下的所有类及其成员 -keepclassmembers class * { @android.webkit.JavascriptInterface *;} # 保留JavaScript接口 -dontwarn com.unused.package.** # 忽略...
-keep public class * { public protected *; } ``` 这段配置告诉ProGuard保留所有公共类及其公共和受保护的方法。 ProGuard还支持与构建工具如Gradle、Maven等集成,自动在打包过程中执行混淆操作。在Android ...
对如何使用proguard以及配置文件参数都进行了详细的说明