1. 程式人生 > >Android 多個第三方混淆過的jar 類名衝突

Android 多個第三方混淆過的jar 類名衝突

背景:目前大多數第三方的jar都是混淆過了的,多個jar組合使用則可能會出現類重複問題。

那友盟統計的jar來說:

第一行是原始jar的路徑,第二行是修改完jar輸出路徑

先建立個txt,寫混淆規則。

1.下面的keep class 就根據jar裡面沒有混淆的,進行配置,可多行

2.-repackageclasses com.umeng 這個包名則自己根據jar來定,類似a.a.a.class這種類就全部放在這個類下面

-injars 'D:/analytics-6.1.0.jar'
-outjars 'D:/analytics-6.1.0_2.jar'


-dontskipnonpubliclibraryclassmembers
-dontshrink
-dontoptimize
-dontusemixedcaseclassnames
-repackageclasses com.umeng
-dontpreverify
-dontnote
-dontwarn
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod




-keep class com.umeng.** {*;}

-keepclassmembers class ** {*;}

android的sdk路徑下面的tools\proguard\bin\進入命令列

proguard.bat  @混淆檔案的路徑

D:\Android\sdk\tools\proguard\bin\proguard.bat @D:/umeng.txt