proguard 配置簡介

l_serein發表於2012-05-30

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>;

    }

相關文章