多个jar包合并成一个jar 使用Apache的Ant是一个基于Java的生成工具。这个工具的全名是another neat tool 可以到官网下载 apache-ant-1.9.7-bin.zip
下载好了之后接下来就是 解压 配置环境 使用
安装和配置
计算机>>>右键>>>属性>>>高级系统配置>>> 环境变量>>>
编辑系统变量
然后修改系统变量的path的值
然后一路确定回去 接下来就是测试一下是否配置成功!
Window + R 然后输入cmd 回车 >>> 在命令框中输入ant 如果提示如下就表示你已经成功的安装了
C:\Users\user>ant
Buildfile: build.xml does not exist!
Build failed
如图
OK >>>>>>>接下来开始使用
注意:ant默认运行build.xml文件,这个文件到目前为止是不存在的 需要我们创建。
如果不想命名为build.xml,运行时可以使用 ant -buildfile test.xml 命令指明要运行的构建文件。
注意:把你需要合并的jar包 和 build.xml 文件 放到同一个目录下面
build.xml 文件的格式如下
<?xml version="1.0" encoding="utf-8"?>
<project
name="lzg_dlna"
basedir="D:\Android\android_tool\ant_test"
default="makeSuperJar" >
<target
name="makeSuperJar"
description="description" >
<jar destfile="lzg_dlna.jar" >
<zipfileset src="cdi-api.jar" />
<zipfileset src="http-2.2.1.jar" />
<zipfileset src="httpclient-4.2.2.jar"/>
<zipfileset src="httpcore-4.2.3.jar" />
<zipfileset src="javax.annotation_1.0.jar" />
<zipfileset src="javax.inject.jar" />
<zipfileset src="javax.servlet-3.0.0.v201103241009.jar" />
<zipfileset src="jetty-client-8.1.9.v20130131.jar" />
<zipfileset src="jetty-continuation-8.1.9.v20130131.jar" />
<zipfileset src="jetty-http-8.1.9.v20130131.jar" />
<zipfileset src="jetty-io-8.1.9.v20130131.jar" />
<zipfileset src="jetty-security-8.1.9.v20130131.jar" />
<zipfileset src="jetty-server-8.1.9.v20130131.jar" />
<zipfileset src="jetty-servlet-8.1.9.v20130131.jar" />
<zipfileset src="jetty-util-8.1.9.v20130131.jar" />
<zipfileset src="seamless-http-1.0-alpha2.jar" />
<zipfileset src="seamless-util-1.0-alpha2.jar" />
<zipfileset src="seamless-xml-1.0-alpha2.jar" />
<zipfileset src="slf4j-api-1.6.1.jar" />
<zipfileset src="slf4j-jdk14-1.6.1.jar" />
</jar>
</target>
</project>
name : 表示的是你即将合成的jar包的名字 可以随便写
basedir : 表示你存放jar包的目录(D:\Android\android_tool\ant_test这个目录下放的是你当前需要合并的所有jar 和build.xml文件)
以上都转备好之后开始运行ant -buildfile命令
ant -buildfile D:\Android\android_tool\ant_test\build.xml
如下图
出现上图的时候就表示你已经合并成功了 去下面的目录找一下你的jar吧
D:\Android\android_tool\ant_test
OK 合并成功 ! 该有小伙伴问了 能不能用啊 这么简单就成功了
接下开始把lzg_dlna.jar配置到项目里使用
如果你的instant run里面第一个选项是勾选的 运行会可能会报错 如果报错的话直接取消勾选
一般如果你的这个按钮是勾选的话运行就会报错
Error:注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
> Invalid signature file digest for Manifest main attributes
* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.
如果是的话直接取消勾选在次运行就OK了
合并完成了
本人亲测成功使用 如果谁在使用过程中遇到了什么问题欢迎相互讨论1129382356@qq.com