Android打包篇:Android Studio將代碼打包成jar包教程
一、新建一個(gè)as項(xiàng)目,再新建一個(gè)model模塊
然后再app中的build.gradle中添加model的依賴。然后編譯項(xiàng)目。
二、編譯完成后,打開model下的build——intermediates——bundles目錄,目錄下有兩個(gè)文件夾,debug,default,在default文件夾下有一個(gè)classess.jar,就是編譯完成的jar包,
這里需要主要的是:因?yàn)槲覀兪褂玫?as 版本不一致,所以會(huì)導(dǎo)致classess.jar包的目錄頁會(huì)不一樣,不過最終的目錄還是在build——intermediates——bundles目錄下,小伙伴們可以在這個(gè)目錄下尋找classess.jar文件,確保可以找到這個(gè)文件之后,再進(jìn)行第三步的操作。
三、在確保classess.jar文件存在的情況下,打開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ù)來設(shè)置過濾 //(我們只關(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命令行,輸入以下命令并回車:
gradlew makeJar
出現(xiàn)如下文字后,代表編譯成功。
BUILD SUCCESSFUL
導(dǎo)出的jar包在model模塊下的build——libs文件夾里面,復(fù)制出來方便我們以后使用。
這樣我們就將我們自己的代碼模塊打成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編譯出來的jar包,里面是DEX格式的文件,如果用戶想用這個(gè)jar包放到Eclipse來做Android APP的開發(fā),Eclipse是不認(rèn)識(shí)這種格式的文件的,通常會(huì)報(bào)錯(cuò):Conversion to Dalvik format failed with error 1
BUILD_STATIC_JAVA_LIBRARY編譯出來的jar包,里面每個(gè)java文件對(duì)應(yīng)的class文件都單獨(dú)存在,顧名思義,每個(gè)java文件里面用到的變量都被靜態(tài)編譯到了class內(nèi)部,這種格式的jar包可以在Eclipse里面導(dǎo)入并正常使用,但是可能存在一定的兼容性隱患
以上這篇Android打包篇:Android Studio將代碼打包成jar包教程就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
簡(jiǎn)單實(shí)現(xiàn)Android放大鏡效果
這篇文章主要教大家簡(jiǎn)單實(shí)現(xiàn)Android放大鏡效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Flutter利用SizeTransition實(shí)現(xiàn)組件飛入效果
本文將為大家介紹SizeTransition,SizeTransition用于更改子組件的尺寸來實(shí)現(xiàn)動(dòng)畫,支持垂直方向或水平方向修改動(dòng)畫。本文將利用其實(shí)現(xiàn)組件飛入效果,需要的可以參考一下2022-04-04解析Android開發(fā)優(yōu)化之:軟引用與弱引用的應(yīng)用
Java從JDK1.2版本開始,就把對(duì)象的引用分為四種級(jí)別,從而使程序能更加靈活的控制對(duì)象的生命周期。這四種級(jí)別由高到低依次為:強(qiáng)引用、軟引用、弱引用和虛引用,本篇文章重點(diǎn)介紹一下軟引用和弱引用2013-05-05使用flutter的showModalBottomSheet遇到的坑及解決
這篇文章主要介紹了使用flutter的showModalBottomSheet遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09Eclipse+ADT+Android SDK搭建安卓開發(fā)環(huán)境的實(shí)現(xiàn)步驟
這篇文章主要介紹了Eclipse+ADT+Android SDK搭建安卓開發(fā)環(huán)境的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09詳解Android中OkHttp3的例子和在子線程更新UI線程的方法
本篇文章主要介紹了詳解Android中OkHttp3的例子和在子線程更新UI線程的方法 ,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05Android 對(duì)話框(Dialog)大全示例(建立你自己的對(duì)話框)
android開發(fā)中,對(duì)話框的使用還是很平凡的,本篇文章介紹了Android 對(duì)話框的實(shí)例,詳細(xì)的介紹了多種對(duì)話框的方法,有興趣的可以了解一下。2016-11-11