Android studio 打包生成jar包的流程詳解

之前有發(fā)過創(chuàng)建Jar包的流程礼殊,可隨著AS版本的更新,方法并沒有那么好用依疼,有童鞋問到了這個問題,用這篇再來總結(jié)一下而芥。

總的來說律罢,AS打包生成jar包可以分成兩類:

  • 第一類是將應(yīng)用模塊application轉(zhuǎn)換成庫模塊library后生成jar包
  • 第二類是通過新建module庫模塊的方式生成jar包

下面我們就看看這兩類分別是怎么生成jar包的,我們根據(jù)之前demo實例來演示棍丐。

第一類:將應(yīng)用模塊application轉(zhuǎn)換成庫模塊library后生成jar包

1误辑、首先打開build.gradle文件,注意這里是app目錄下的歌逢,在這個文件我們需要做兩個操作:

  • 將com.android.application改成com.android.library
  • 注釋掉applicationId

如圖所示:


image

2巾钉、打開清單文件AndroidManifest.xml

  • 首先將application配置的屬性去掉


    在這里插入圖片描述
  • 然后再去掉Activity入口,防止引入后運行有兩個圖標(biāo)


    在這里插入圖片描述

    這個時候就把應(yīng)用模塊轉(zhuǎn)換成庫模塊啦趋翻,接下來就可以打jar包了睛琳。由于生成jar包方式都相同,所以先介紹完兩類后再往下走踏烙。

第二類:通過新建module方式生成jar包

1师骗、新建module,F(xiàn)ile->New->New Module...


image

2讨惩、選擇Android Library ->Next


image

3辟癌、填寫Moudle名稱,點擊Finish荐捻,一個新的Moudle就完成啦
image

4黍少、這個時候我們來看看生成的build.gradle文件寡夹,就是我們需要的庫模塊


image

5、這個時候?qū)?yīng)用模塊中需要打包成jar包的代碼文件厂置,復(fù)制粘貼到對于的位置就可以了菩掏,例如我這里想將Test文件中的getTodayDateTime()方法暴露出去給別人調(diào)用。
image

到這里兩類方式就都已經(jīng)介紹完了昵济,這兩類生成方法都是相同的智绸,我下面就拿第一類做演示。

接下來就看看是如何生成jar包的:

1访忿、首先也是打開app目錄下的build.gradle文件瞧栗,在這個文件我們需要添加下面代碼:

task makeJar(type: Copy) {
    //刪除存在的
    delete 'build/libs/myjar.jar'
    //設(shè)置拷貝的文件
    from('build/intermediates/aar_main_jar/release/')
    //打進(jìn)jar包后的文件目錄
    into('build/libs/')
    //將classes.jar放入build/libs/目錄下
    //include ,exclude參數(shù)來設(shè)置過濾
    include('classes.jar')
    //重命名
    rename ('classes.jar', 'myjar.jar')
}

makeJar.dependsOn(build)
image

將上面的代碼添加到gradle里面的android目錄下即可。

2海铆、添加完后就可以生成啦迹恐,這里也有兩種方式:

  • 通過cmd命令行方式

在AndroidStudio->Terminal中輸入命令:

gradlew makeJar

回車,等生成就可以啦卧斟,如圖所示即成功啦:


在這里插入圖片描述
  • 通過Android Studio右邊的Gradle的makeJar命令


    image

    image

    找到makeJar后雙擊即可自動生成jar包啦殴边,如圖所示:

image

生成jar包的測試:

接下來將生成的jar包放入到另一個項目中進(jìn)行測試

1、將生成的jar包復(fù)制到新之前的demo中測試唆涝,如圖所示:


image

2找都、將jar包添加進(jìn)項目


image

3、以下是在onCreate方法中調(diào)用jar包里的方法:
String todayDateTime = Test.getTodayDateTime();
Toast.makeText(MainActivity.this, "調(diào)用jar包方法測試時間:"+todayDateTime, Toast.LENGTH_SHORT).show();

4廊酣、最后看看效果圖:

image

這說明已經(jīng)調(diào)用jar包中的方法成功啦能耻。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市亡驰,隨后出現(xiàn)的幾起案子晓猛,更是在濱河造成了極大的恐慌,老刑警劉巖凡辱,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戒职,死亡現(xiàn)場離奇詭異,居然都是意外死亡透乾,警方通過查閱死者的電腦和手機洪燥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乳乌,“玉大人捧韵,你說我怎么就攤上這事『翰伲” “怎么了再来?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我芒篷,道長搜变,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任针炉,我火速辦了婚禮挠他,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘篡帕。我一直安慰自己绩社,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布赂苗。 她就那樣靜靜地躺著,像睡著了一般贮尉。 火紅的嫁衣襯著肌膚如雪拌滋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天猜谚,我揣著相機與錄音败砂,去河邊找鬼。 笑死魏铅,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宛蚓,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼洲押,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沧竟?” 一聲冷哼從身側(cè)響起铸敏,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎悟泵,沒想到半個月后杈笔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡糕非,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年蒙具,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朽肥。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡禁筏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鞠呈,到底是詐尸還是另有隱情融师,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布蚁吝,位于F島的核電站旱爆,受9級特大地震影響舀射,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怀伦,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一脆烟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧房待,春花似錦邢羔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至流椒,卻和暖如春敏簿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宣虾。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工惯裕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绣硝。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓蜻势,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鹉胖。 傳聞我的和親對象是個殘疾皇子握玛,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容