注意
依賴的Android Studio版本為4.2.2
更高的Android Studio版本使用方法可能有所不同,gradle的版本和gradle plugins的版本都會(huì)影響使用方式。
基于此,本文只能作為參考,而不能作為唯一答案,如果要完全依賴本文,則Android Studio版本也需要安裝成4.2.2.
關(guān)于AAR
Android AAR文件是Android Archive文件的縮寫,是一種Android應(yīng)用程序存檔文件格式,類似于JAR文件格式。AAR文件包含已編譯的代碼和資源文件,可以被其他Android應(yīng)用程序引用和使用。AAR文件可以包含多個(gè)類庫(kù)和資源文件,可以在項(xiàng)目中使用Gradle依賴關(guān)系來(lái)引用和使用。它在Android Studio中被廣泛使用,可以通過(guò)Gradle構(gòu)建系統(tǒng)在Android項(xiàng)目中使用。AAR文件通常用于在Android應(yīng)用程序中共享代碼和資源,提高代碼復(fù)用性和構(gòu)建效率。
如何編譯生成AAR
要打包Android Archive(AAR)文件,可以按照以下步驟操作:
1. 在Android Studio中,打開要打包為AAR的項(xiàng)目。
如果沒有目標(biāo)項(xiàng)目,可以新建一個(gè)空白工程。
2. 選擇“File”(文件)菜單,然后選擇“New Module”(新建模塊)。
或者在根目錄(需要切換成project模式)
右鍵也可以直接新建模塊 Module
3. 在“Create New Module”(創(chuàng)建新模塊)對(duì)話框中,選擇“Android Library”(Android庫(kù))。
4. 輸入模塊的名稱和其他選項(xiàng),然后單擊“Finish”(完成)。
5. 編輯庫(kù)項(xiàng)目的代碼和資源文件。
創(chuàng)建成功的模塊中,可以在build.gradle查看插件是否引用為com.android.library
6. 選擇“Build”(構(gòu)建)菜單,然后選擇“Make Module 'library_name'”(生成模塊“l(fā)ibrary_name”)。
此外,也可以直接在gradle構(gòu)建的工具中進(jìn)行打包
在android studio中,右側(cè)邊欄中g(shù)radle工具中,找到目標(biāo)module,在Tasks中找到other
可以選擇自己想要的打包模式(debug和release)
7. 在項(xiàng)目的“build/outputs/aar/”目錄下找到生成的AAR文件,以便與其他應(yīng)用程序或庫(kù)共享。
這樣,您的Android庫(kù)就可以以AAR文件的形式打包并與其他應(yīng)用程序或庫(kù)一起使用了。
8.AAR 文件詳解
AAR 文件的文件擴(kuò)展名為?.aar
,Maven 工件類型也是?aar
。此文件本身是一個(gè) ZIP 文件。唯一的必需條目是?/AndroidManifest.xml
。
AAR 文件還可包含以下一個(gè)或多個(gè)可選條目:
/classes.jar
/res/
/R.txt
/public.txt
/assets/
/libs/name.jar
-
/jni/abi_name/name.so
(其中?abi_name?是?Android 支持的 ABI?之一) /proguard.txt
/lint.jar
/api.jar
-
/prefab/
(用于導(dǎo)出原生庫(kù))
AAR和JAR的區(qū)別
AAR和JAR都是Java的打包格式,但在Android開發(fā)中,它們有一些區(qū)別:
1. AAR(Android Archive)是一種Android專用的打包格式,它包含了Android庫(kù)項(xiàng)目的所有資源,例如布局、圖片、XML文件等。而JAR(Java Archive)是一種標(biāo)準(zhǔn)的Java打包格式,它只包含Java類文件和一些靜態(tài)資源文件,例如圖標(biāo)、配置文件等。
2. AAR文件可以包含多個(gè)JAR文件,以及單獨(dú)的資源文件,而JAR文件只能包含Java類文件和靜態(tài)資源文件。
3. 在Android Studio中,使用AAR格式的庫(kù)項(xiàng)目可以自動(dòng)導(dǎo)入庫(kù)項(xiàng)目的所有資源,從而簡(jiǎn)化了項(xiàng)目開發(fā)和維護(hù)的工作量。
4. 另外,AAR格式的庫(kù)項(xiàng)目還可以指定依賴項(xiàng),也就是說(shuō),如果一個(gè)AAR庫(kù)項(xiàng)目依賴于另一個(gè)AAR庫(kù)項(xiàng)目,那么在使用該庫(kù)項(xiàng)目時(shí),它所依賴的庫(kù)項(xiàng)目也會(huì)自動(dòng)被導(dǎo)入。
因此,AAR格式的庫(kù)項(xiàng)目比JAR格式的庫(kù)項(xiàng)目更適合Android開發(fā)。
如何引用AAR
在Android Studio中,可以通過(guò)以下步驟引用aar文件:
1. 將aar文件放置在項(xiàng)目的libs文件夾中。
2. 在項(xiàng)目的build.gradle文件中添加以下代碼:
repositories {
? ? flatDir {
? ? ? ? dirs 'libs'
? ? }
}
dependencies {
? ? implementation(name:'XXXXXX_1.1.0', ext:'aar')
}
3. 在項(xiàng)目的Gradle sync后,就可以使用這個(gè)庫(kù)中的類、方法等了。
如果你使用的是Android插件3.0或更高版本,則需要將 implementation 改為 api。
api files('libs/XXXXXXX_1.2.0_release.aar')
關(guān)于implementation和api,簡(jiǎn)單理解就是類里面 public和private的區(qū)別
implementation表示該引用只對(duì)當(dāng)前module生效,其他模塊即使依賴了該module,也無(wú)法使用implementation引用的其他依賴。是module私有依賴的關(guān)鍵字。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-763318.html
api表示公開引用,一般用于基礎(chǔ)模塊和公共模塊,一次引用之后,其他模塊引用該模塊,則無(wú)需再引用其他依賴。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-763318.html
到了這里,關(guān)于Android Studio打包AAR的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!