Android 多個第三方混淆過的jar 類名衝突
阿新 • • 發佈:2019-02-04
背景:目前大多數第三方的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