打包Jar包,混淆Jar包,合并多个Jar包

1.将程序打包成Jar包

右击工程------Export------Java-JAR File

打包Jar包,混淆Jar包,合并多个Jar包_第1张图片

Next-----选中需要生成Jar包的项目,点击展开,只选择src(注意不是全选)----下面JARfile是生成的Jar包,自己设置就行。

打包Jar包,混淆Jar包,合并多个Jar包_第2张图片

一路Next,Finish生成OK。

打包Jar包,混淆Jar包,合并多个Jar包_第3张图片

2.Jar包混淆,找到SDK,tools目录下,打开Proguard---bin,打开proguardgui.bat,显示图像界面,(Mac下sdk是个proguardgui.sh,直接在命令行切换到当前目录运行该脚本就行sh proguardgui.sh )

打包Jar包,混淆Jar包,合并多个Jar包_第4张图片

下图是打开的ProGuard界面,下面我们进行一些设置。

打包Jar包,混淆Jar包,合并多个Jar包_第5张图片


点击左边的第二个Input/output,进入如下页面。

Add Input :选中你需要混淆的Jar包,比如我们的test.jar

Add Output: 这个是生成的Jar包,可以自己随便命名

下面Library jar添加需要注意:

添加sdk下的android版本,注意和你工程项目的一致,要不会报错

添加你工程里的其他jar包,如果没有用到,那就不用添加。具体的看下图2,3

打包Jar包,混淆Jar包,合并多个Jar包_第6张图片

打包Jar包,混淆Jar包,合并多个Jar包_第7张图片

上面是我们Jar生成时的工程文件信息,我们用的是6.0,23,所以在Add Library时就要选择android-23,且记,这是坑。

下图是工程所用的Jar包文件,也得以此添加到Library中。

打包Jar包,混淆Jar包,合并多个Jar包_第8张图片

设置好后next,进入Shrinking,一定要去掉勾号,要不都是泪啊。其他的保持默认,Next....

打包Jar包,混淆Jar包,合并多个Jar包_第9张图片

进入Obfuscation,注意这个就是设置哪些类不被混淆,哪些变量不被混淆。

打包Jar包,混淆Jar包,合并多个Jar包_第10张图片

点击Add,添加不需要被混淆的类,弹出下面的窗体,class下就是输入不被混淆的类,Add filed就是添加不被混淆的变量,Add method是不被混淆的方法名,直接添加就行。

打包Jar包,混淆Jar包,合并多个Jar包_第11张图片

然后一路next,保持默认的,到process,点击process,等待一会,就生成了。得到的就是我们需要的混淆后的Jar包,可以根据反编译工具查看。

关于反编译可以查看这篇文章点击打开链接

打包Jar包,混淆Jar包,合并多个Jar包_第12张图片

至此,生成Jar包和混淆Jar包都已完成,那现在还有个小需求,程序中引用的第三方Jar包太多了,想混成一个咋办,别急,这么搞:

3.合并多个Jar包

原理:解压Jar包,得到.class文件,然后合并就ok了

过程:

1.将你项目中所有的Jar包拷贝到一个文件夹下(你自己新建的)

2.cd到该文件夹下

3.执行命令解压该文件夹下的Jar包

jar -xvf test.jar

回车

jar -xvf tools1.jar

回车

jar -xvf tools2.jar

回车

注意:需要一个一个逐个解压

4.输入

del /F *.jar

5.  输入

jar -cvfm all.jar

这个all.jar就是最后生成的所有Jar的合并。

好,如有问题,欢迎讨论。

资料链接:点击打开链接

你可能感兴趣的:(Android基础)