溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android Studio如何將代碼打包成jar包

發(fā)布時(shí)間:2021-06-16 15:03:08 來(lái)源:億速云 閱讀:178 作者:小新 欄目:移動(dòng)開(kāi)發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)Android Studio如何將代碼打包成jar包,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

一、新建一個(gè)as項(xiàng)目,再新建一個(gè)model模塊

然后再app中的build.gradle中添加model的依賴。然后編譯項(xiàng)目。

二、編譯完成后,打開(kāi)model下的build——intermediates——bundles目錄,目錄下有兩個(gè)文件夾,debug,default,在default文件夾下有一個(gè)classess.jar,就是編譯完成的jar包,

這里需要主要的是:因?yàn)槲覀兪褂玫?as 版本不一致,所以會(huì)導(dǎo)致classess.jar包的目錄頁(yè)會(huì)不一樣,不過(guò)最終的目錄還是在build——intermediates——bundles目錄下,小伙伴們可以在這個(gè)目錄下尋找classess.jar文件,確??梢哉业竭@個(gè)文件之后,再進(jìn)行第三步的操作。

三、在確保classess.jar文件存在的情況下,打開(kāi)model模塊的build.gradle文件,在文件中與android模塊中添加如下代碼,并編譯:

 //Copy類型
 task makeJar(type: Copy) {
  //刪除存在的
  delete 'build/libs/mysdk.jar'
  //設(shè)置拷貝的文件
  from('build/intermediates/bundles/default/')
  //打進(jìn)jar包后的文件目錄
  into('build/libs/')
  //將classes.jar放入build/libs/目錄下
  //include ,exclude參數(shù)來(lái)設(shè)置過(guò)濾
  //(我們只關(guān)心classes.jar這個(gè)文件)
  include('classes.jar')
  //重命名
  rename ('classes.jar', 'mysdk.jar')
 }
 makeJar.dependsOn(build)

這里需要注意:上述代碼中from括號(hào)中的是你的classess.jar的文件目錄,這里貼的是我自己的目錄,不同的as版本可能導(dǎo)致目錄不同,所以小伙伴們?cè)谟玫臅r(shí)候直接換成你們自己的classess.jar路徑即可。

四、編譯完成以后,找到as的Terminal命令行,輸入以下命令并回車(chē):

gradlew makeJar

出現(xiàn)如下文字后,代表編譯成功。

BUILD SUCCESSFUL

導(dǎo)出的jar包在model模塊下的build——libs文件夾里面,復(fù)制出來(lái)方便我們以后使用。

這樣我們就將我們自己的代碼模塊打成jar包了,用的時(shí)候直接導(dǎo)入jar包就可以了。

補(bǔ)充知識(shí):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)

在當(dāng)前項(xiàng)目中執(zhí)行mm命令(在此之前要執(zhí)行sourse build/envsetup.sh)

BUILD_JAVA_LIBRARY和BUILD_STATIC_JAVA_LIBRARY區(qū)別

BUILD_JAVA_LIBRARY編譯出來(lái)的jar包,里面是DEX格式的文件,如果用戶想用這個(gè)jar包放到Eclipse來(lái)做Android APP的開(kāi)發(fā),Eclipse是不認(rèn)識(shí)這種格式的文件的,通常會(huì)報(bào)錯(cuò):Conversion to Dalvik format failed with error 1

BUILD_STATIC_JAVA_LIBRARY編譯出來(lái)的jar包,里面每個(gè)java文件對(duì)應(yīng)的class文件都單獨(dú)存在,顧名思義,每個(gè)java文件里面用到的變量都被靜態(tài)編譯到了class內(nèi)部,這種格式的jar包可以在Eclipse里面導(dǎo)入并正常使用,但是可能存在一定的兼容性隱患

關(guān)于“Android Studio如何將代碼打包成jar包”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI