1. 程式人生 > >android studio如何匯出jar包以及如何將多個jar包合併

android studio如何匯出jar包以及如何將多個jar包合併

android studio現在jar包方式的引用可能越來越少,大部分都是通過gradle引入github專案依賴即可,不過今天還是講一講jar包的匯出和合並,算是記錄下吧。

一、建立一個新的library專案,專案名為mylibrary。找到build.gradle檔案,檔案第一行為:

apply plugin: 'com.android.library'
這是標識這個專案為library專案。

    其實只要你的library專案執行過就會在\build\intermediates\intermediate-jars目錄下面找到生成的debug和release版本的classes.jar(不同的android studio可能生成的路徑不一樣,可通過資料夾的搜尋找到,我的android studio的版本為3.0.1),如圖:


接下來其實就是對這個classes.jar,重新命名打包。還是在build.gradle檔案下,寫入如下指令碼:

task makeJar(type: Copy) {
    //刪除存在的
    delete 'build/libs/mysdk.jar'
    //設定需要拷貝的檔案
    from('build/intermediates/intermediate-jars/release/')
    //將classes.jar放入build/libs/目錄下
    into('build/libs/')
    //將classes.jar放入build/libs/目錄下
    //(我們只需要取classes.jar這個檔案)
    include('classes.jar')
    //重新命名
    rename ('classes.jar', 'mysdk.jar')
}
makeJar.dependsOn(build)

 最後開啟android studio的Terminal控制檯,輸入gradlew makeJar,等待執行一段時間出現:BUILD SUCCESSFUL字樣就說明導包成功了。然後可以在上面配置的build/libs/目錄下找到mysdk.jar檔案就是匯出的jar包了。

二、上面匯出的jar包是不會將該library專案依賴的第三方jar包打進去的。那麼如果我們不把第三方的jar打進我們匯出的jar包中,別人引用我們的jar包就會出現NoClassDefFoundError錯誤,這就很尷尬了,那麼如何把第三方jar包打進我們的jar包裡面呢。這就要用到一個工具了---Apache ant.

解壓或者安裝後可以得到以下目錄:


同時我們需要配置下系統環境變數:這個大家應該都知道吧:


然後在Path變數值後面加入:%ANT_HOME%\bin;%ANT_HOME%\lib;


然後確定,開啟dos,輸入ant,如果出現


那麼恭喜你,ant安裝和配置成功了,接下來就是這個build.xml檔案了


再回到dos,輸入命令ant -buildfile E:\apache-ant-1.9.7\build.xml.出現BUILD SUCCESSFUL,說明合併成功瞭然後在目錄e:/jar下面檢視我們合併後的jar包


然後將together.jar拖入


中你可以看到:


至此,jar包的合併完成。