Android Studio生成混淆jar包

 

將module生成jar,其內部必須只能是java代碼。若是還有resource文件,那就得打aar文件了。java

在你要打jar包的module build文件中,加上一個生成jar包的task。(其實即便不添加,在整個工程build時也會生成jar文件的。在build/intermediates/bundles/release/classes.jar能夠找到。只是沒混淆罷了。)android

圖一app

在圖1中紅箭頭標註的文件內加入下面代碼:gradle

task makeJar(type: proguard.gradle.ProGuardTask, dependsOn: "build") {
    delete 'libs/usbSdk.jar'
    // 未混淆的jar
    injars 'build/intermediates/bundles/debug/classes.jar'
    // 混淆後的jar路徑
    outjars 'libs/usb.jar'
    // 具體須要keep住的類
    configuration 'proguard-rules.pro'
}

而後在‘proguard-rules.pro’中,添加以下代碼ui

-libraryjars 'C:\Program Files\Java\jre1.8.0_144\lib\rt.jar'



-libraryjars 'E:\Android\sdk\platforms\android-19\android.jar'


-optimizationpasses 5


-dontusemixedcaseclassnames


# -keep public class * extends android.app.Activity


-keep class com.tiannuo.usb_8.* {


public <fields>;


public <methods>;


}

其中:-libraryjars 'C:\Program Files\Java\jre1.8.0_144\lib\rt.jar'和
-libraryjars 'E:\Android\sdk\platforms\android-19\android.ja 分別爲jdk的位置和sdk的位置。spa

‘com.tiannuo.usb_8.*’是module的包名。debug

最後,在Terminal中輸入'gradlew makeJar'。提示「BUILD SUCCESSFUL」成功。orm



做者:瞎子點燈
連接:http://www.jianshu.com/p/06d9345f4034
來源:簡書
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。it

相關文章
相關標籤/搜索