Proguard 混淆 基本使用

這兩天打包發(fā)現(xiàn)用到反射的地方拋出異常,折騰半天才搞出來忍燥,記錄一下拧晕,以便查看。
用到design包梅垄,不設(shè)置發(fā)現(xiàn)design包的屬性已經(jīng)發(fā)生混淆厂捞,導(dǎo)致反射獲取不到指定屬性 ==!簡單粗暴哎甲,直接keep design包

  -keep public class android.support.design.** {*;}     # 保持哪些類不被混淆

Proguard關(guān)鍵字


  關(guān)鍵字                      描述
  -keep                        保留類和類中的成員蔫敲,防止被混淆或移除
  -keepnames                   保留類和類中的成員,防止被混淆炭玫,成員沒有被引用會被移除
  -keepclassmembers            只保留類中的成員奈嘿,防止被混淆或移除
  -keepclassmembernames        只保留類中的成員,防止被混淆吞加,成員沒有引用會被移除
  -keepclasseswithmembers      保留類和類中的成員裙犹,防止被混淆或移除,保留指明的成員
  -keepclasseswithmembernames  保留類和類中的成員衔憨,防止被混淆叶圃,保留指明的成員,成員沒有引用會被移除
  -keepattributes  保留某些屬性不被混淆践图,可選(*Annotation*,InnerClasses掺冠,Signature,SourceFile,LineNumberTable)
  -keep

Proguard通配符

  通配符      描述
  <field>     匹配類中的所有字段
  <method>    匹配類中所有的方法
  <init>      匹配類中所有的構(gòu)造函數(shù)
  *           匹配任意長度字符码党,不包含包名分隔符(.)
  **          匹配任意長度字符德崭,包含包名分隔符(.)
  ***         匹配任意參數(shù)類型

·
#---------------------------------基本指令區(qū)----------------------------------
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-printmapping proguardMapping.txt
-optimizations !code/simplification/cast,!field/,!class/merging/
-keepattributes Annotation,InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
#----------------------------------------------------------------------------

自定義混淆注解

  • 創(chuàng)建注解對象
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
* NotProguard, Means not proguard something, like class,     method, field<br/>
*/
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.FIELD})
public @interface NotProguard {
}
  • 注解修飾類,成員或者屬性

     @NotProguard 
     public class Main {
     
       @NotProguard 
       public int id;
       @NotProguard 
       public void method (){
       }
     }
    
  • 在混淆文件設(shè)置被注解修飾的方法揖盘,類或者成員不被混淆

     # keep annotated by NotProguard
     -keep @com.mobi.zw.common.annotation.NotProguard class * {*;}
     -keep class * {
     @com.mobi.zw.common.annotation.NotProguard <fields>;
     }
      -keepclassmembers class * {
     @com.mobi.zw.common.annotation.NotProguard <methods>;
     }
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末眉厨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子兽狭,更是在濱河造成了極大的恐慌憾股,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件箕慧,死亡現(xiàn)場離奇詭異服球,居然都是意外死亡,警方通過查閱死者的電腦和手機颠焦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門斩熊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蒸健,你說我怎么就攤上這事座享。” “怎么了似忧?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵渣叛,是天一觀的道長。 經(jīng)常有香客問我盯捌,道長淳衙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任饺著,我火速辦了婚禮箫攀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘幼衰。我一直安慰自己靴跛,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布渡嚣。 她就那樣靜靜地躺著梢睛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪识椰。 梳的紋絲不亂的頭發(fā)上绝葡,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音腹鹉,去河邊找鬼藏畅。 笑死,一個胖子當(dāng)著我的面吹牛功咒,可吹牛的內(nèi)容都是我干的愉阎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼卸耘!你這毒婦竟也來了雕蔽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤章办,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后滨彻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體藕届,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年亭饵,在試婚紗的時候發(fā)現(xiàn)自己被綠了休偶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡辜羊,死狀恐怖踏兜,靈堂內(nèi)的尸體忽然破棺而出词顾,到底是詐尸還是另有隱情,我是刑警寧澤碱妆,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布肉盹,位于F島的核電站,受9級特大地震影響疹尾,放射性物質(zhì)發(fā)生泄漏上忍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一纳本、第九天 我趴在偏房一處隱蔽的房頂上張望窍蓝。 院中可真熱鬧,春花似錦繁成、人聲如沸吓笙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽观蓄。三九已至,卻和暖如春祠墅,著一層夾襖步出監(jiān)牢的瞬間侮穿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工毁嗦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留亲茅,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓狗准,卻偏偏與公主長得像克锣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子腔长,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容