將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