Android Studio生成混淆jar包

将module生成jar,其内部必须只能是java代码。如果还有resource文件,那就得打aar文件了。

在你要打jar包的module build文件中,加上一个生成jar包的task。(其实即使不添加,在整个工程build时也会生成jar文件的。在build/intermediates/bundles/release/classes.jar可以找到。只是没混淆罢了。)

Android Studio生成混淆jar包_第1张图片
图一

在图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 ;

public ;

}

其中:-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”成功。

你可能感兴趣的:(Android Studio生成混淆jar包)