一、AS中生成Jar包
概念:將自己開發(fā)的一個(gè)類庫(kù)打包成jar包以供其他項(xiàng)目調(diào)用,這個(gè)jar包也叫SDK或者叫l(wèi)ibrary。
-
新建項(xiàng)目MakeMyJarDemo
項(xiàng)目MakeMyJarDemo.png
-2. 新建Module:mylibrary
(1)鼠標(biāo)右鍵點(diǎn)擊app->New->選擇Module
Module.png
(2)選擇AndroidLibrary->點(diǎn)擊Next
image.png
(3)填寫名稱->點(diǎn)擊Finish
image.png
(4)新建項(xiàng)目功能文件MyFunctions.java
-
public class MyFunctions {
public static void showLog(){
Log.v("jar","這是MakeMyJarDemo項(xiàng)目的功能文件");
}
public static void showToast(Context context, String msg, TextView textView){
textView.setText(msg);
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
}
- 主工程依賴mylibrary
(1)打開主工程的build.gradle(Module:app)文件,添加信息如下,并點(diǎn)擊Sync Now
- 主工程依賴mylibrary
implementation project(':mylibrary')

(2)在主工程的MainActivity中調(diào)用mylibrary的功能文件驗(yàn)證依賴成功

- mylibrary打包為jar包
(1)打開build.gradle(Module:mylibrary)文件,添加信息如下,并點(diǎn)擊Sync Now
- mylibrary打包為jar包
//修改jar名字+將指定jar生成的地方
task makeMyJar(type: Copy) {
//刪除存在的
delete 'build/libs/mysdk.jar'
//設(shè)置拷貝的文件
from('build/intermediates/intermediate-jars/release/')
//打進(jìn)jar包后的文件目錄
into('libs/')
//將classes.jar放入build/libs/目錄下
//include ,exclude參數(shù)來(lái)設(shè)置過濾
//(我們只關(guān)心classes.jar這個(gè)文件)
include('classes.jar')
//重命名
rename ('classes.jar', 'mysdk.jar')
}
makeJar.dependsOn(build)

備注:task makeJar中的makeJar只是一個(gè)方法名稱可以隨意取名,但是必須得和下面的makeJar.dependsOn(build)的makeJar方法名稱一致
(2)打開Terminal控制臺(tái),輸入指令 gradlew makeJar后回車即可生成jar包

備注:Terminal控制臺(tái)輸入gradlew+方法名稱時(shí),方法名稱需和上步task makeJar中的方法名保持一致。
說明:若as從來(lái)沒有生成過jar,那么第一次就會(huì)很慢,會(huì)去下載一些文件
(3)打包Success后jar文件會(huì)出現(xiàn)在mylibrary工程對(duì)應(yīng)的build->libs中(同樣arr會(huì)出現(xiàn)在outputs中)

說明:復(fù)制mysdk.jar到一個(gè)新的module中的libs目錄下,然后就可以調(diào)用jar包文件中的方法了。
二、AS導(dǎo)入Jar包
-
項(xiàng)目UseMyJarDemo導(dǎo)入mysdk.jar包
(1)復(fù)制jar包至Project - > app - > libs目錄下,之后重啟AS。
image.png
-
-
測(cè)試導(dǎo)入成功
image.png
-
參考:Android studio 如何導(dǎo)入libs目錄下的jar包、libs 下面的jar包怎么導(dǎo)入android denpendencies





