將module生成jar,其內(nèi)部必須只能是java代碼。如果還有resource文件,那就得打aar文件了。
在你要打jar包的module build文件中,加上一個生成jar包的task。(其實(shí)即使不添加,在整個工程build時也會生成jar文件的。在build/intermediates/bundles/release/classes.jar可以找到。只是沒混淆罷了。)

在圖1中紅箭頭標(biāo)注的文件內(nèi)加入下面代碼:
task makeJar(type: proguard.gradle.ProGuardTask,dependsOn:"build") {
delete'build/outputs/jar/yybo.jar'//刪除之前編譯混淆jar包
injars'build/intermediates/bundles/release/classes.jar'//項目編譯但未混淆的jar
outjars'build/outputs/jar/yybo.jar'//混淆后的jar路徑
configuration'proguard-rules.pro'// 混淆配置文件
}
然后在‘proguard-rules.pro’中,添加如下代碼
-libraryjars 'C:\Program Files\Java\jdk1.7.0_67\jre\lib\rt.jar'
-libraryjars 'D:\android\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-19\android.jar'
-optimizationpasses 5
-dontusemixedcaseclassnames
# -keep public class * extends android.app.Activity
-keep class com.yybo.mylibrary.* {
public <fields>;
public <methods>;
}
其中:-libraryjars'C:\Program Files\Java\jdk1.7.0_67\jre\lib\rt.jar' 和 -libraryjars'D:\android\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-19\android.jar'?分別為jdk的位置和sdk的位置。
‘com.yybo.mylibrary.*’是module的包名。
最后,在Terminal中輸入'gradlew makeJar'。提示“BUILD SUCCESSFUL”成功。