Android jar和aar打包及引入總結

前言

在Android開發(fā)過程中,不可避免的會使用到一些三方庫,這些庫多是為*.jar,*.so,*.aar類型的文件塔粒,其中so庫多是為C文件打包行程的庫,本文暫不做討論筐摘;jar包和aar包我們都可以通過建立自己的module進行生成卒茬,本文著重說明這兩種文件的區(qū)別及生成。

一咖熟、jar包和aar包含內(nèi)容區(qū)別

1. jar

jar文件可以說是和客戶端平臺無關的文件圃酵,其只包含class文件與清單文件。

由于jar包內(nèi)不包含圖片這種資源文件馍管,所以在打jar包時module里的res資源文件夾都是不會打進包里的郭赐,如果要引入資源,則需要配置assets文件夾确沸,將資源放在assets文件夾里堪置。

2. aar

aar文件和Android客戶端平臺緊密相連,是Android庫項目的二進制歸檔文件张惹,其包內(nèi)不僅包含有class文件舀锨,也包括有資源文件。

二宛逗、打包方法區(qū)別

1. jar打包

Android Studio中可以很方便的通過Gradle生成jar包坎匿。

首先我們需要在modulebuild.gradle文件里新定義一個jar包任務:

//task to export contents as jar
task exportJar(type: Copy) {
    //刪除原有jar包
    delete 'build/libs/AndroidPlugin.jar'
    //從build中查找jar包文件
    from('build/intermediates/runtime_library_classes_jar/release/')
    //copy到指定目錄
    into('build/libs/')
    include('classes.jar')
    ///Rename the jar
    rename('classes.jar', 'AndroidPlugin.jar')
}
exportJar.dependsOn(build)

這樣的話就能夠在Gradle中查看到任務:moduleName/Tasks/other中查找到上述任務:

jar包打包任務.jpg

執(zhí)行上述任務,我們能夠在在build/libs/目錄下找到jar包文件AndroidPlugin.jar

2.aar打包

aar包目錄是:build/outputs/aar,替蔬,如下圖:

AAR位置.png

如果當前工程內(nèi)沒有build目錄告私,可以在Gradle中執(zhí)行當前module的assembleRelease構建生成release的aar包,如下圖:

aar構建.jpg

三承桥、引入?yún)^(qū)別

jar包和aar包引入我們在接入第三方SDK時經(jīng)常能夠遇到驻粟,在此簡單記錄一下常規(guī)引入方式:

1. jar包引入

我們可以將jar包文件放置在app的libs目錄下,如下圖:

jar包引入目錄.jpg

然后在module下的build.gradle中設置如下配置:

android {
...
        sourceSets {
        main {
            java.srcDirs = ['src/main/java']
            jniLibs.srcDirs = ['libs']
            assets.srcDirs = ['assets']
        }
    }
}
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}

之后重新編譯凶异,如果編譯后能夠打開jar包蜀撑,就是引入完成了,如上圖剩彬。

2. aar包引入

aar包引入和jar包引入比較類似酷麦,同樣是將包放在libs目錄下:

aar包引入目錄.jpg

然后在module下的build.gradle文件中添加如下配置:

repositories {
    flatDir {
        dirs 'libs'
    }
} 
dependencies {
    implementation(name:'ttsLib-release', ext:'aar')
}

然后在進行重新編譯,之后可以在lib目錄下看到引入的包喉恋,這樣就是引入完成了:

AAR查看目錄.jpg

其他問題

在jar包的生成中沃饶,由于我們是通過Gradle去進行構建生成的,但是Gradle生成jar包的位置各個版本并不完全一致轻黑,在書寫腳本時最好不要直接copy代碼糊肤,先在build文件目錄中找一下你的jar包是否存在,及時更新路徑氓鄙。

附錄記錄下倉庫上傳配置轩褐,在module下的build.gradle文件中添加如下配置:

uploadArchives {

    repositories {

        mavenDeployer {
            repository(url: "") {
                authentication(userName: "", password: "")
            }
            snapshotRepository(url: "") {
                authentication(userName: "", password: "")
            }

            pom.groupId = "android.library"
            pom.artifactId = "voice"
            pom.version = "1.0.0"
            pom.packaging = "aar"

        }
    }
}

然后添加對應的地址及身份校驗,執(zhí)行此任務即可玖详。

總結

本文是對于Android中jar包和aar包的區(qū)別,打包及引入做一個簡單記錄勤讽。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蟋座,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子脚牍,更是在濱河造成了極大的恐慌向臀,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诸狭,死亡現(xiàn)場離奇詭異券膀,居然都是意外死亡,警方通過查閱死者的電腦和手機驯遇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門芹彬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叉庐,你說我怎么就攤上這事舒帮。” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵五辽,是天一觀的道長闰围。 經(jīng)常有香客問我贴浙,道長,這世上最難降的妖魔是什么预茄? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮侦厚,結果婚禮上耻陕,老公的妹妹穿的比我還像新娘。我一直安慰自己假夺,他們只是感情好淮蜈,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梧田,像睡著了一般。 火紅的嫁衣襯著肌膚如雪侧蘸。 梳的紋絲不亂的頭發(fā)上裁眯,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音讳癌,去河邊找鬼穿稳。 笑死,一個胖子當著我的面吹牛晌坤,可吹牛的內(nèi)容都是我干的逢艘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼骤菠,長吁一口氣:“原來是場噩夢啊……” “哼它改!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起商乎,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤央拖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鹉戚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鲜戒,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年抹凳,在試婚紗的時候發(fā)現(xiàn)自己被綠了遏餐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡赢底,死狀恐怖境输,靈堂內(nèi)的尸體忽然破棺而出蔗牡,到底是詐尸還是另有隱情,我是刑警寧澤嗅剖,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布辩越,位于F島的核電站,受9級特大地震影響信粮,放射性物質(zhì)發(fā)生泄漏黔攒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一强缘、第九天 我趴在偏房一處隱蔽的房頂上張望督惰。 院中可真熱鬧,春花似錦旅掂、人聲如沸赏胚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽觉阅。三九已至,卻和暖如春秘车,著一層夾襖步出監(jiān)牢的瞬間典勇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工叮趴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留割笙,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓眯亦,卻偏偏與公主長得像伤溉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子妻率,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

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