您的位置:首页 > 移动开发 > Android开发

Android Studio生成混淆jar包

2017-11-15 00:00 141 查看

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

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



图一

在图1中红箭头标注的文件内加入下面代码:

taskmakeJar(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’中,添加如下代码

-libraryjars'C:\ProgramFiles\Java\jre1.8.0_144\lib\rt.jar'

-libraryjars'E:\Android\sdk\platforms\android-19\android.jar'

-optimizationpasses5

-dontusemixedcaseclassnames


#-keeppublicclass*extendsandroid.app.Activity

-keepclasscom.tiannuo.usb_8.*{

public<fields>;

public<methods>;

}

其中:-libraryjars'C:\ProgramFiles\Java\jre1.8.0_144\lib\rt.jar'和
-libraryjars'E:\Android\sdk\platforms\android-19\android.ja分别为jdk的位置和sdk的位置。

‘com.tiannuo.usb_8.*’是module的包名。

最后,在Terminal中输入'gradlewmakeJar'。提示“BUILDSUCCESSFUL”成功。

作者:瞎子点灯
链接:http://www.jianshu.com/p/06d9345f4034
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: