溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android Studio怎么將代碼打包成jar包

發布時間:2022-04-18 11:16:28 來源:億速云 閱讀:618 作者:iii 欄目:開發技術

本篇內容主要講解“Android Studio怎么將代碼打包成jar包”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“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 Studio怎么將代碼打包成jar包”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女