多個jar包合併成一個jar包
阿新 • • 發佈:2018-12-30
Ant方式
注意:ant預設執行build.xml檔案,這個檔案到目前為止是不存在的 需要我們建立。
如果不想命名為build.xml,執行時可以使用 ant -buildfile test.xml 命令指明要執行的構建檔案。注意:把你需要合併的jar包 和 build.xml 檔案 放到同一個目錄下面
build.xml 檔案的格式如下
- "1.0" encoding="utf-8" xml version=
- <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
- <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檔案)
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了
合併完成了
引用自 https://blog.csdn.net/gzl003csdn/article/details/53539133
利用Jar語法
匯出JAR包:
在eclipse中,右鍵工程,點選export,選擇Jar file,選則需要打包的工程,將工程內除src,lib,以外的檔案取消選擇,後改變輸出的Jar包的名字,輸出即可。
JAR包合併:
將要合併的JAR包放到同一個資料夾下;
進入命令列;
定位到當前資料夾;
通過jar解壓命令將jar包全部解壓,命令為 >jar –xvf xx.jar;
刪除目錄下的.jar檔案,命令為>del /F *.jar;
合併所有的.class檔案至jar,命令為>jar –cvfM game.jar .,注意:jar .
- $ mkdir tmp
- $ cd tmp
- $ jar -xf ../jar1.jar
- $ jar -xf ../jar2.jar
- $ jar -cvf combined.jar -C tmp .