日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android—打包aar以及module依赖操作

發(fā)布時間:2023/12/18 Android 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android—打包aar以及module依赖操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

將項目打包為aar:

1、manifest文件:去掉紅框內(nèi)容

2、Module的build.gradle文件中加上? ? apply plugin: 'com.android.library'

3、打包:

4、包位置:

在其他module中導(dǎo)入aar包

1、implementation和api的區(qū)別:

  • api相當于之前的compile,用這種方式依賴的庫,會參與編譯打包過程。但是,如果第三方庫以此方式依賴其他庫,有可能會發(fā)生版本沖突。需要使用api("com.xxxxx.xxxxxx:xxxxx:1.0.0") { exclude group: 'com.android.support' }方式解決。
  • implementation只能在模塊內(nèi)部使用,比如我在一個libiary中使用implementation依賴了gson庫,然后我的主項目依賴了libiary,那么,我的主項目就無法訪問gson庫中的方法。如果需要提供外部訪問,使用api即可。

2、compileOnly替代provided,都是只在編譯時有效,不會參與打包
有多個library,只要確保有一個module中該依賴能參與到打包即可,其他的可以使用compileOnly,避免沖突。

這里可以選擇將包放到maven倉庫,也可以在本地進行導(dǎo)入。

本地導(dǎo)入:

1、通過放在libs下面進行導(dǎo)入

在需要導(dǎo)入的module的build.gradle中加入

repositories {flatDir {dirs 'libs'} }implementation (name:'app-release',ext:'aar')//implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')

2、通過file —> new module的方式

選擇本地aar添加后可以看到

在需要的module中直接依賴:

implementation project(':app-release')

當項目存在多個module時,如果這些module都需要依賴同一些aar,可以建立一個底層的公共module(common),common中采用api的方式引入那些aar,那么其他module只需要依賴common就可以間接依賴到那些aar,方便同意操作。

common的build.gradle中 api project(':app-release')其他module中 implementation project(':common')

maven倉庫的方式

1、上傳aar到maven倉庫

我們在aar原項目的build.gradle中添加上傳uploadArchives?的方法

apply plugin: 'maven'uploadArchives {repositories {mavenDeployer {repository(url: uri('../localMaven')) //定義本地maven倉庫的地址pom.version = 1.0pom.artifactId = "aarText"pom.groupId = "com.text.aarText"pom.name = "testlibrary"pom.packaging = 'aar'}} }

apply plugin: "maven"? ? ? ? ? ? ? ? ? ? ? ?引入maven插件?

repository(url: uri('../localMaven'))? ? 定義maven倉庫地址,一般是定義為遠程倉庫的地址,..表示上一層目錄。

同步之后可以運行。運行后:

出現(xiàn)對應(yīng)的目錄,版本號,我們需要的aar文件。

2、引用maven倉庫的aar

在需要引用的module的build.gradle文件中添加

repositories {maven {url '../../MyApplication2/localMaven'} }dependencies {implementation 'com.text.aarText:aarText:1.0' }

url是倉庫地址。

implementation 'groupId:artifactId:version'

同步之后,該module就可以使用aar中的東西。

如果全部module都要,則在project層級的build.gradle中添加maven地址

allprojects {repositories {google()jcenter()maven {url '../../MyApplication2/localMaven'}} }

?然后在common中,注意是api

dependencies {api 'com.text.aarText:testlibrary:1.0' }

?

總結(jié)

以上是生活随笔為你收集整理的Android—打包aar以及module依赖操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。