1. 程式人生 > 程式設計 >Android打包篇:Android Studio將程式碼打包成jar包教程

Android打包篇:Android Studio將程式碼打包成jar包教程

一、新建一個as專案,再新建一個model模組

然後再app中的build.gradle中新增model的依賴。然後編譯專案。

二、編譯完成後,開啟model下的build——intermediates——bundles目錄,目錄下有兩個資料夾,debug,default,在default資料夾下有一個classess.jar,就是編譯完成的jar包,

這裡需要主要的是:因為我們使用的 as 版本不一致,所以會導致classess.jar包的目錄頁會不一樣,不過最終的目錄還是在build——intermediates——bundles目錄下,小夥伴們可以在這個目錄下尋找classess.jar檔案,確保可以找到這個檔案之後,再進行第三步的操作。

三、在確保classess.jar檔案存在的情況下,開啟model模組的build.gradle檔案,在檔案中與android模組中新增如下程式碼,並編譯:

 //Copy型別
 task makeJar(type: Copy) {
  //刪除存在的
  delete 'build/libs/mysdk.jar'
  //設定拷貝的檔案
  from('build/intermediates/bundles/default/')
  //打進jar包後的檔案目錄
  into('build/libs/')
  //將classes.jar放入build/libs/目錄下
  //include,exclude引數來設定過濾
  //(我們只關心classes.jar這個檔案)
  include('classes.jar')
  //重新命名
  rename ('classes.jar','mysdk.jar')
 }
 makeJar.dependsOn(build)

這裡需要注意:上述程式碼中from括號中的是你的classess.jar的檔案目錄,這裡貼的是我自己的目錄,不同的as版本可能導致目錄不同,所以小夥伴們在用的時候直接換成你們自己的classess.jar路徑即可。

四、編譯完成以後,找到as的Terminal命令列,輸入以下命令並回車:

gradlew makeJar

出現如下文字後,代表編譯成功。

BUILD SUCCESSFUL

匯出的jar包在model模組下的build——libs資料夾裡面,複製出來方便我們以後使用。

這樣我們就將我們自己的程式碼模組打成jar包了,用的時候直接匯入jar包就可以了。

補充知識:Android.mk編譯出jar

Android.mk編譯出jar

Android.mk檔案配置

LOCAL_PATH:= $(call my-dir)
#make jar
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_MODULE := mytestjar
include $(BUILD_JAVA_LIBRARY)

#include $(BUILD_STATIC_JAVA_LIBRARY)

在當前專案中執行mm命令(在此之前要執行sourse build/envsetup.sh)

BUILD_JAVA_LIBRARY和BUILD_STATIC_JAVA_LIBRARY區別

BUILD_JAVA_LIBRARY編譯出來的jar包,裡面是DEX格式的檔案,如果使用者想用這個jar包放到Eclipse來做Android APP的開發,Eclipse是不認識這種格式的檔案的,通常會報錯:Conversion to Dalvik format failed with error 1

BUILD_STATIC_JAVA_LIBRARY編譯出來的jar包,裡面每個java檔案對應的class檔案都單獨存在,顧名思義,每個java檔案裡面用到的變數都被靜態編譯到了class內部,這種格式的jar包可以在Eclipse裡面匯入並正常使用,但是可能存在一定的相容性隱患

以上這篇Android打包篇:Android Studio將程式碼打包成jar包教程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。