当我们要发布一个自己的android Library的时候,就会发现,里面的代码都没有经过加密,会完全暴露在别人的眼前。
而我们仅仅是想让他们使用Library中提供的功能,不想让他们看到具体的实现过程。
那么,这个时候,我们就要使用代码混淆了。
那么如何去混淆一个Library呢?
我们知道,一个Android的app,仅仅需要在project.properties文件中配置好混淆文件的路径,
打包后的签名apk就会自动混淆。
但是对于一个Library,我们就需要使用proguardgui.bat去实现了。
1、说明
proguardgui.bat 这个工具,google在Android的SDK中已经为我们提供了。(忘了是在哪个版本开始有的。)
具体路径在 ${sdk.dir}/tools/proguard/bin/proguardgui.bat
2、准备工作
1.生成Jar文件
在混淆之前,需要将Library中的源码打包成一个Jar文件
然后依次选择 Export -->Java-->JAR file 将你的源码打包成一个JAR文件。
2.找到所有依赖的Jar包
这两个目录下的所有jar包都需要拷贝出来。
3、生成配置文件
打开后主界面如下:
在这个界面中,你可以直接点击 Load configuration 加载自己写好的配置文件。
如果你已经有现成的proguardgui的配置文件,可以直接进行下一步!
但是配置文件过于麻烦,所以,咱使用proguardgui.bat 的导航来生成配置文件。
之后选项卡中选项很多,英文好的可以自己去选择,在这里我附上我的设置图:
这里选择Save configuration 将文件命名为 pro后缀的文件。
然后将test.pro 打开
1、将google提供的proguard-android.txt中的配置拷贝进去,配置好Activity等等之类的混淆设置。
2、将一些第三方Jar、Bean对象等等之类的混淆设置自己手动配置好。
3、保存配置文件。
4、混淆
5、使用
这是就可以使用混淆好的的Jar文件了。
你可以将Library中的源文件全部删除。
然后在Libs中引入你的Jar文件。
大功告成。