文本我們將講解android studio打包apk,,aar,jar包的相關(guān)知識,。apk包就是android系統(tǒng)的安裝包,,這里沒什么好說的,aar包是android中獨(dú)有的類庫包,,而jar包是java中特有的類庫包,,在具體的介紹打包之前,我們先來aar包和jar包的區(qū)別,。
jar包與aar包的區(qū)別
區(qū)別:大家都知道jar文件把,如果你有一個(gè)Android Library項(xiàng)目,,可以很容易的導(dǎo)出jar文件,然后在其他項(xiàng)目中很方便的引用,,aar和jar類似,,區(qū)別就是一個(gè)Android Library項(xiàng)目導(dǎo)出的jar文件不能包含資源文件,比如一些drawable文件,、xml資源文件之類的,,所以這就有很大的限制,在gradle之前我們要引用帶資源文件的Android
Library必須要把整個(gè)library導(dǎo)入進(jìn)來進(jìn)行引用,,但是有了gradle之后,,Android Library項(xiàng)目可以直接導(dǎo)出成aar,然后其他項(xiàng)目像引用jar的方式直接方便的引用,。
怎么樣,?jar包和aar包的區(qū)別很明顯吧。
打包apk文件
在android studio中打包apk文件有兩種方式:
下面我們將分別介紹一下這兩種方式的具體步驟,,首先我們先看一下如何通過gradle配置的方式,,輸出apk文件。
android studio中配置打包腳本
可以發(fā)現(xiàn)這里的buildType中配置了release包和debug包,,以及各自的簽名信息:
更加具體的簽名信息配置在singingCongis中,,下面我們來看一下其實(shí)如何設(shè)置的
這樣我們就配置好了apk打包的簽名信息,,然后我們可以打開Build Variants操作框了…
這里可以看到我們在mobile module中定義了兩個(gè)buildType,其中debug和release Type,,并且其打包時(shí)默認(rèn)使用的簽名信息就是我們剛剛配置的各自的簽名信息,。
這里需要說明的是android studio中module默認(rèn)都會有debug和release兩個(gè)buildType,就算你什么都不配置的話,,這里也會存在這兩個(gè)buildType,,而且,除了這兩個(gè)之外你還可以配置額外的定制化的buildType,,比如你想打一個(gè)信息的debug01包,,使用另外的一套簽名信息:
配置Build Variants
可以發(fā)現(xiàn)這時(shí)候Build Variant中mobile module多了一個(gè)buildType:debug01,其就是我們剛剛配置的debug01 buildType,,并且使用的是另外的一套簽名信息,,若我們選中debug01,則android
studio默認(rèn)run或者是build apk的時(shí)候就會編譯debug01版本的apk了,。
.執(zhí)行run app或者是Build apk操作
這樣我們最終就能夠輸出一個(gè)apk格式的安裝包了,。
執(zhí)行Generate singned apk操作
除了上面的通過gradle配置的方式生成apk文件,我們還可以執(zhí)行Generate singned apk操作,,通過這樣的操作,,我們也可以獲得一個(gè)apk的輸出文件,具體步驟如下:
好吧,,上面就是我們所要介紹的打包apk的兩種方式,。下面我們在講解一下如何通過android studio打包aar和jar。
android studio如何打jar包
目前通過android studio打包jar,,基本有兩種方式:
app為我們的主工程,librarydemo是我們要將其生成jar包的model.
在librarydemo中加入如下代碼:
當(dāng)然在主工程App的build中要加入librarys 這個(gè)依賴model:
(二)android studio如何打aar包
其實(shí)打aar包和jar包類似,,只不過是其目錄變化了而已:
可以看到同樣需要其作為library,,而且其生成的目錄為:/build/output/aar/
好了,以上就是如何通過androd studio打包apk,,aar和jar的相關(guān)內(nèi)容了,。
ps:感謝一片楓葉_劉超
最后還是那句話:
成功只有一個(gè)定義,那就是對結(jié)果負(fù)責(zé),。 因?yàn)槲沂冀K堅(jiān)信的一句話:沒有做不到的,,只有想不到的。 QQ交流群 :232203809,歡迎入群
微信公眾號:終端研發(fā)部 (歡迎關(guān)注學(xué)習(xí)和交流) |
|