天天看點

Android studio 打包生成jar包的流程詳解

之前有發過建立Jar包的流程,可随着AS版本的更新,方法并沒有那麼好用,有童鞋問到了這個問題,用這篇再來總結一下。

總的來說,AS打包生成jar包可以分成兩類:

  • 第一類是将應用子產品application轉換成庫子產品library後生成jar包
  • 第二類是通過建立module庫子產品的方式生成jar包

下面我們就看看這兩類分别是怎麼生成jar包的,我們根據之前demo執行個體來示範。

第一類:将應用子產品application轉換成庫子產品library後生成jar包

1、首先打開build.gradle檔案,注意這裡是app目錄下的,在這個檔案我們需要做兩個操作:

  • 将com.android.application改成com.android.library
  • 注釋掉applicationId

如圖所示:

Android studio 打包生成jar包的流程詳解

2、打開清單檔案AndroidManifest.xml

  • 首先将application配置的屬性去掉
Android studio 打包生成jar包的流程詳解

在這裡插入圖檔描述

  • 然後再去掉Activity入口,防止引入後運作有兩個圖示
Android studio 打包生成jar包的流程詳解

在這裡插入圖檔描述

這個時候就把應用子產品轉換成庫子產品啦,接下來就可以打jar包了。由于生成jar包方式都相同,是以先介紹完兩類後再往下走。

第二類:通過建立module方式生成jar包

1、建立module,File->New->New Module...

Android studio 打包生成jar包的流程詳解

2、選擇Android Library ->Next

Android studio 打包生成jar包的流程詳解

3、填寫Moudle名稱,點選Finish,一個新的Moudle就完成啦

Android studio 打包生成jar包的流程詳解

4、這個時候我們來看看生成的build.gradle檔案,就是我們需要的庫子產品

Android studio 打包生成jar包的流程詳解

5、這個時候将應用子產品中需要打包成jar包的代碼檔案,複制粘貼到對于的位置就可以了,例如我這裡想将Test檔案中的getTodayDateTime()方法暴露出去給别人調用。

Android studio 打包生成jar包的流程詳解

到這裡兩類方式就都已經介紹完了,這兩類生成方法都是相同的,我下面就拿第一類做示範。

接下來就看看是如何生成jar包的:

1、首先也是打開app目錄下的build.gradle檔案,在這個檔案我們需要添加下面代碼:

task makeJar(type: Copy) {
    //删除存在的
    delete 'build/libs/myjar.jar'
    //設定拷貝的檔案
    from('build/intermediates/aar_main_jar/release/')
    //打進jar包後的檔案目錄
    into('build/libs/')
    //将classes.jar放入build/libs/目錄下
    //include ,exclude參數來設定過濾
    include('classes.jar')
    //重命名
    rename ('classes.jar', 'myjar.jar')
}

makeJar.dependsOn(build)           

複制

Android studio 打包生成jar包的流程詳解

将上面的代碼添加到gradle裡面的android目錄下即可。

2、添加完後就可以生成啦,這裡也有兩種方式:

  • 通過cmd指令行方式

在AndroidStudio->Terminal中輸入指令:

gradlew makeJar           

複制

回車,等生成就可以啦,如圖所示即成功啦:

Android studio 打包生成jar包的流程詳解

在這裡插入圖檔描述

  • 通過Android Studio右邊的Gradle的makeJar指令
Android studio 打包生成jar包的流程詳解
Android studio 打包生成jar包的流程詳解

找到makeJar後輕按兩下即可自動生成jar包啦,如圖所示:

Android studio 打包生成jar包的流程詳解

生成jar包的測試:

接下來将生成的jar包放入到另一個項目中進行測試

1、将生成的jar包複制到新之前的demo中測試,如圖所示:

Android studio 打包生成jar包的流程詳解

2、将jar包添加進項目

Android studio 打包生成jar包的流程詳解

3、以下是在onCreate方法中調用jar包裡的方法:

String todayDateTime = Test.getTodayDateTime();
Toast.makeText(MainActivity.this, "調用jar包方法測試時間:"+todayDateTime, Toast.LENGTH_SHORT).show();           

複制

4、最後看看效果圖:

Android studio 打包生成jar包的流程詳解

這說明已經調用jar包中的方法成功啦。