PG代码备份
来源:互联网 发布:五年目的放课后淘宝 编辑:程序博客网 时间:2024/06/10 00:43
代码备份
<plugin> <groupId>com.github.wvengen</groupId> <artifactId>proguard-maven-plugin</artifactId> <version>2.0.7</version> <executions> <execution> <phase>package</phase> <goals> <goal>proguard</goal> </goals> </execution> </executions> <configuration> <attach>true</attach> <attachArtifactClassifier>pg</attachArtifactClassifier> <!-- attach 的作用是在 install 与 deploy 时将生成的 pg 文件也安装与部署 --> <options> <!-- 详细配置方式参考 ProGuard 官方文档 --> <!--<option>-dontobfuscate</option> --> <option>-ignorewarnings</option> <!--忽略所有告警 --> <option>-dontshrink</option> <!--不做 shrink --> <option>-dontoptimize</option> <!--不做 optimize --> <option>-dontskipnonpubliclibraryclasses</option> <option>-dontskipnonpubliclibraryclassmembers</option> <option>-repackageclasses com.sun4j.xxx</option> <!--平行包结构(重构包层次),所有混淆的类放在 pg 包下 --> <!-- 以下为 Keep,哪些内容保持不变,因为有一些内容混淆后(a,b,c)导致反射或按类名字符串相关的操作失效 --> <option>-keep class **.package-info</option> <!--保持包注解类 --> <option>-keepattributes Signature</option> <!--JAXB NEED,具体原因不明,不加会导致 JAXB 出异常,如果不使用 JAXB 根据需要修改 --> <!-- Jaxb requires generics to be available to perform xml parsing and without this option ProGuard was not retaining that information after obfuscation. That was causing the exception above. --> <option>-keepattributes SourceFile,LineNumberTable,*Annotation*</option> <!--保持源码名与行号(异常时有明确的栈信息),注解(默认会过滤掉所有注解,会影响框架的注解) --> <option>-keepclassmembers enum com.sun4j.xxx.** { *;}</option> <!--保持枚举中的名子,确保枚举 valueOf 可以使用 --> <!-- <option>-keep class com.sun4j.xxx.** { *;}</option> --> <!--保持 Bean 类,(由于很多框架会对 Bean 中的内容做反射处理,请根据自己的业务调整) --> <option>-keep class com.sun4j.xxx.AutoConfig { public void init(); public void destroy(); } </option> <!-- 保持对外的接口性质类对外的类名与方法名不变 --> </options> <outjar>${project.build.finalName}-pg</outjar> <libs> <lib>${java.home}/lib/rt.jar</lib> </libs> </configuration></plugin>配置规则参考:-renamesourcefileattribute SourceFile-dontskipnonpubliclibraryclassmembers-keepattributes Exceptions,InnerClasses,Signature,Deprecated, SourceFile,LineNumberTable,*Annotation*,EnclosingMethod-keep public class * { public protected *;-dontskipnonpubliclibraryclassmembers-keepattributes Exceptions,InnerClasses,Signature,Deprecated, SourceFile,LineNumberTable,*Annotation*,EnclosingMethod-keep public class * { public protected *;}-keepclassmembernames class * { java.lang.Class class$(java.lang.String); java.lang.Class class$(java.lang.String, boolean);}-keepclasseswithmembernames class * { native <methods>;}-keepclassmembers,allowoptimization enum * { public static **[] values(); public static ** valueOf(java.lang.String);}-keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve();}
1 0
- PG代码备份
- pg数据库备份恢复
- pg备份相关知识点
- x64 antidebug 不触发PG 补充代码
- windows 脚本自动备份和恢复pg数据库
- 代码备份
- 代码备份
- 代码备份
- 代码备份
- 备份代码到邮箱
- JAVASCRIPT常用代码备份
- ajax公用代码备份
- 备份所有数据库代码
- 自己备份的代码
- C#备份Oracle代码
- mysql 数据库备份代码
- C#备份收藏夹代码
- 备份git代码仓库
- 数组中出现次数超过一半的数字
- 调用摄像头拍照
- 一步步学spark之一scala类的定义(属性和方法)2.0
- 计算机视觉研究群体及专家主页汇总
- 安卓Fragment使用详解
- PG代码备份
- 第十三周阅读程序(1)
- 走进AngularJs(七) 过滤器(filter) - 吕大豹
- 解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
- Java静态导入(import static)
- 学习Spring MVC,关于注解的Spring MVC,关于控制器的Spring MVC,学习Spring,简单Spring MVC实例
- openwrt编译问题
- 建立修改文件系统
- cocopods 报错 _OBJC_CLASS_