多个jar包合并成一个jar包

Ant方式

注意:ant默认运行build.xml文件,这个文件到目前为止是不存在的 需要我们创建。

如果不想命名为build.xml,运行时可以使用 ant -buildfile test.xml 命令指明要运行的构建文件。

注意:把你需要合并的jar包 和 build.xml 文件 放到同一个目录下面

build.xml 文件的格式如下


  1. xml version="1.0" encoding="utf-8"?>
  2. <project
  3. name= "lzg_dlna"
  4. basedir= "D:\Android\android_tool\ant_test"
  5. default= "makeSuperJar" >
  6. <target
  7. name= "makeSuperJar"
  8. description= "description" >
  9. <jar destfile="lzg_dlna.jar" >
  10. <zipfileset src="cdi-api.jar" />
  11. <zipfileset src="http-2.2.1.jar" />
  12. <zipfileset src="httpclient-4.2.2.jar"/>
  13. <zipfileset src="httpcore-4.2.3.jar" />
  14. <zipfileset src="javax.annotation_1.0.jar" />
  15. <zipfileset src="javax.inject.jar" />
  16. <zipfileset src="javax.servlet-3.0.0.v201103241009.jar" />
  17. <zipfileset src="jetty-client-8.1.9.v20130131.jar" />
  18. <zipfileset src="jetty-continuation-8.1.9.v20130131.jar" />
  19. <zipfileset src="jetty-http-8.1.9.v20130131.jar" />
  20. <zipfileset src="jetty-io-8.1.9.v20130131.jar" />
  21. <zipfileset src="jetty-security-8.1.9.v20130131.jar" />
  22. <zipfileset src="jetty-server-8.1.9.v20130131.jar" />
  23. <zipfileset src="jetty-servlet-8.1.9.v20130131.jar" />
  24. <zipfileset src="jetty-util-8.1.9.v20130131.jar" />
  25. <zipfileset src="seamless-http-1.0-alpha2.jar" />
  26. <zipfileset src="seamless-util-1.0-alpha2.jar" />
  27. <zipfileset src="seamless-xml-1.0-alpha2.jar" />
  28. <zipfileset src="slf4j-api-1.6.1.jar" />
  29. <zipfileset src="slf4j-jdk14-1.6.1.jar" />
  30. jar>
  31. target>
  32. project>

name  : 表示的是你即将合成的jar包的名字 可以随便写

basedir :  表示你存放jar包的目录(D:\Android\android_tool\ant_test这个目录下放的是你当前需要合并的所有jar 和build.xml文件)


OK 合并成功  !  该有小伙伴问了 能不能用啊 这么简单就成功了 

接下开始把lzg_dlna.jar配置到项目里使用

如果你的instant run里面第一个选项是勾选的 运行会可能会报错 如果报错的话直接取消勾选




一般如果你的这个按钮是勾选的话运行就会报错


  1. Error:注: 某些输入文件使用或覆盖了已过时的 API。
  2. 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
  3. 注: 某些输入文件使用了未经检查或不安全的操作。
  4. 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
  5. FAILURE: Build failed with an exception.
  6. * What went wrong:
  7. Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
  8. > Invalid signature file digest for Manifest main attributes
  9. * Try:
  10. Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

如果是的话直接取消勾选在次运行就OK了

合并完成了

引用自 https://blog.csdn.net/gzl003csdn/article/details/53539133


利用Jar语法

 导出JAR包:

eclipse中,右键工程,点击export,选择Jar file,选则需要打包的工程,将工程内除srclib,以外的文件取消选择,后改变输出的Jar包的名字,输出即可。

 

         JAR包合并:

  1. 将要合并的JAR包放到同一个文件夹下;

  2. 进入命令行;

  3. 定位到当前文件夹;

  4. 通过jar解压命令将jar包全部解压,命令为 >jar –xvf xx.jar;

  5. 删除目录下的.jar文件,命令为>del /F *.jar;

  6. 合并所有的.class文件至jar,命令为>jar –cvfM game.jar .,注意:jar .


  1. $ mkdir tmp
  2. $ cd tmp
  3. $ jar -xf ../jar1.jar
  4. $ jar -xf ../jar2.jar
  5. $ jar -cvf combined.jar -C tmp .


你可能感兴趣的:(Android开发,开发工具)