proguard 配置簡介
proguard 配置簡介
引數:
-include {filename} 從給定的檔案中讀取配置引數
-basedirectory {directoryname} 指定基礎目錄為以後相對的檔案名稱
-injars {class_path} 指定要處理的應用程式jar,war,ear和目錄
-outjars {class_path} 指定處理完後要輸出的jar,war,ear和目錄的名稱
-libraryjars {classpath} 指定要處理的應用程式jar,war,ear和目錄所需要的程式庫檔案
-dontskipnonpubliclibraryclasses 指定不去忽略非公共的庫類。
-dontskipnonpubliclibraryclassmembers 指定不去忽略包可見的庫類的成員。
保留選項
-keep {Modifier} {class_specification} 保護指定的類檔案和類的成員
-keepclassmembers {modifier} {class_specification} 保護指定類的成員,如果此類受到保護他們會保護的更好
-keepclasseswithmembers {class_specification} 保護指定的類和類的成員,但條件是所有指定的類和類成員是要存在。
-keepnames {class_specification} 保護指定的類和類的成員的名稱(如果他們不會壓縮步驟中刪除)
-keepclassmembernames {class_specification} 保護指定的類的成員的名稱(如果他們不會壓縮步驟中刪除)
-keepclasseswithmembernames {class_specification} 保護指定的類和類的成員的名稱,如果所有指定的類成員出席(在壓縮步驟之後)
-printseeds {filename} 列出類和類的成員-keep選項的清單,標準輸出到給定的檔案
壓縮
-dontshrink 不壓縮輸入的類檔案
-printusage {filename}
-whyareyoukeeping {class_specification}
優化
-dontoptimize 不優化輸入的類檔案
-assumenosideeffects {class_specification} 優化時假設指定的方法,沒有任何副作用
-allowaccessmodification 優化時允許訪問並修改有修飾符的類和類的成員
混淆
-dontobfuscate 不混淆輸入的類檔案
-printmapping {filename}
-applymapping {filename} 重用對映增加混淆
-obfuscationdictionary {filename} 使用給定檔案中的關鍵字作為要混淆方法的名稱
-overloadaggressively 混淆時應用侵入式過載
-useuniqueclassmembernames 確定統一的混淆類的成員名稱來增加混淆
-flattenpackagehierarchy {package_name} 重新包裝所有重新命名的包並放在給定的單一包中
-repackageclass {package_name} 重新包裝所有重新命名的類檔案中放在給定的單一包中
-dontusemixedcaseclassnames 混淆時不會產生形形色色的類名
-keepattributes {attribute_name,...} 保護給定的可選屬性,例如LineNumberTable, LocalVariableTable, SourceFile, Deprecated, Synthetic, Signature, and InnerClasses.
-renamesourcefileattribute {string} 設定原始檔中給定的字串常量
Example:
-injars <project>.jar
-outjars <project>_out.jar
-libraryjars <java.home>/lib/rt.jar
-libraryjars <project.home>/webroot/WEB-INF/lib/webwork.jar
.......
-keep public class * implements ActionSupport{
public protected private <fields>;
public protected <methods>;
}
相關文章
- 深入學習ProGuard之:ProGuard簡介與android的應用Android
- Git 配置簡介Git
- vnc簡介及配置VNC
- Android程式碼混淆配置(Proguard檔案解析)Android
- Java開源的混淆器 Proguard詳細介紹Java
- 01 . MongoDB簡介及部署配置MongoDB
- Beego(簡介、配置、路由、日誌)Go路由
- UDEV簡介及配置過程dev
- MySQL日誌引數配置簡介MySql
- ZooKeeper: 簡介, 配置及運維指南運維
- PHP簡介及配置檔案解析PHP
- Linux伺服器配置——簡介Linux伺服器
- SAP 公司間交易簡介和配置
- oracle enterprise manager配置簡介Oracle
- Flume NG 簡介及配置實戰
- [AndroidPro]proguardAndroid
- Android & proguardAndroid
- ProGuard入門
- 配置中心之Nacos簡介,使用及Go簡單整合Go
- Spring的簡介安裝及配置Spring
- ReactJs環境配置簡單介紹ReactJS
- Libevent教程001: 簡介與配置
- React Native簡介和環境配置React Native
- Go之Gorm和BeegoORM簡介及配置使用GoORM
- Nginx簡介和常用的一些配置Nginx
- 筆記50-Spring簡介和配置筆記Spring
- Kubernetes簡介以及如何使用YAML配置?YAML
- Android Proguard 詳解Android
- SPF 記錄:原理、語法及配置方法簡介
- Java基礎:Java簡介及安裝配置(1)Java
- 日誌工具logback的簡介與配置
- nfs_較全面的配置手冊及簡介NFS
- Android混淆(Proguard)詳解Android
- 簡介
- Jira使用簡介 HP ALM使用簡介
- [譯] 實用 ProGuard 規則示例
- Proguard整理一些資料
- 配置RHEL8本地yum源及DNF簡介