将module生成jar,其内部必须只能是java代码。如果还有resource文件,那就得打aar文件了。
在你要打jar包的module build文件中,加上一个生成jar包的task。(其实即使不添加,在整个工程build时也会生成jar文件的。在build/intermediates/bundles/release/classes.jar可以找到。只是没混淆罢了。)
图一在图1中红箭头标注的文件内加入下面代码:
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”成功。
网友评论