問題
這幾天遇到任務,要把多個Jar包合并成一個,譬如下圖
項目結構圖
解釋:plugins庫依賴于netutil庫,plugins庫本身有retrofit的jar包,netutil庫有okhttp的jar包。現在要做成一個jar供客戶使用。
plugins庫和netutil庫生成的jar包的路徑為:
build/intermediates/bundles/debug/classes.jar
build/intermediates/bundles/release/classes.jar
需要把三個jar包合并成一個。
解決方法
在命令行中輸入jar,可以看到如下情況:
命令行展示圖
可見jar命令可以對jar進行多種操作。
現在把需要合并的jar包放在同一個目錄中,cd到這個目錄,調用
jar -xvf jar包名字.jar
對各個jar包進行解壓。
解壓完后,把jar包移開,調用
jar -cvfM 合并后的jar包名字.jar .
把所有的文件合并成一個單獨的jar包。
以上