在项目中,有时候我们会把某些代码,通过jar的形式,放到服务器上,
然后在客户端下载,用反射调用,这样很方便,也能不通过升级APK随时更新这部分代码,
但是这样,别人也能拿到我们的jar随意反编译,就会暴露,
所以这个时候,我们就要搞安全工作。
百度告诉我们有两种方法:1.jar混淆,2.加密。
加密的方法,我也试过,通过base64,把jar包加密了,然后本地解密成功,但是加载的时候懵逼了...所以放弃。
混淆
首先得导出jar包,本人out,用eclipse
在需要被导出的项目点击右键,然后选择Export
这个时候,就在对应的位置,生成了一个5.jar 我的是在桌面,那个输出地址可以自己规定
————————————————————————以上为第一步————————————————————
拿到这个jar之后,我们就可以开始混淆工作了
首先,我们进入SDK目录,跟着对应的路劲,找到proguardgui.bat
打开之后,可以看到一个命令窗口,等待一会就回弹出我们的混淆工具了
按照顺序,选择对应的txt文件,用来生成我们自己的一个混淆配置文件,大神也可以自己写,
这个配置文件在SDK目录下的tools\proguard文件夹里面,
打开之后,点击左边的PROCESS
点击保存,保存我们的配置信息,然后找到这个a.pro
调用入口一定要keep,暴露出来,不然找不到入口
修改之后保存,然后再用我们的混淆工具种,打开,
具体操作和上面的打开工具后的第一张相同,然后选择输入输出,以及依赖的jar
记得将optimization中的optimize的勾去掉
最后,在process中点击右下角的process,就能生成混淆后的jar
如图,成功
——————————————————————第三部,二次打包————————————————————————————————
最后一步,进入到sdk\build-tools\android-4.4W,具体版本自行决定
打包成功,完成