天天看點

Android studio 代碼混淆和打jar包

1、在AndroidStudio IDE中要打jar包,首先在原來的工程下建立一個module,類型為Android Library

2、如果有引用其他jar包,則将其他jar包放入到module的libs檔案夾下

3、在module的gradle檔案中編輯jar依賴,比如:compile files('libs/libammsdk.jar')

4、在module的gradle檔案中編輯task,例如:

task makeJar(type: proguard.gradle.ProGuardTask,dependsOn:"build") {

    delete'build/outputs/jar/sdk.jar'//删除之前編譯混淆jar包

    injars'build/intermediates/bundles/release/classes.jar'//項目編譯但未混淆的jar

    outjars'build/outputs/jar/sdk.jar'//混淆後的jar路徑

    configuration'proguard-rules.pro'// 混淆配置檔案

}      
5、編輯module下的proguard-rules.pro檔案,此部分為代碼混淆檔案。例如:      
-libraryjars 'D:\ProgramSOFTWARE\Java\jdk1.8.0_66\jre\lib\rt.jar'

-libraryjars 'D:\ProgramSOFTWARE\Android\AndroidSDK\platforms\android-19\android.jar'

-optimizationpasses 5

-dontusemixedcaseclassnames

# -keep public class * extends android.app.Activity      
-dontwarn com.google.gson.**
-keep class com.google.gson.** { *;}

-dontwarn com.tencent.mm.sdk.**
-keep class com.tencent.mm.sdk.** { *;}      
-keep public class com.xxx.xxxx.classname.* {
public <fields>;
public <methods>;
}      
6、在Android studio中的Terminal中輸入 : gradlew makeJar      
回車執行,生成的jar位置在task中指定的位置中,build/outputs/jar/sdk.jar      
7、生成的jar依賴于引入其他的jar,在工程使用中需要将生成的jar和生成jar依賴的jar都引入。

繼續閱讀