将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