针对上面的问题,有3种解决办法:
1、将aar中使用的第三方依赖拷贝到使用aar的module中。
2、使用本地私服。
3、使用远程私服。
下面我将讲解使用本地私服的情况。
1、在需要打包成aar的Library的build.gradle中增加如下配置
apply plugin: 'maven'
/**
* 下面为创建本地仓库进行的设置,这个配置需要和android同级
* 1、groupId唯一标识符:包名com.android.dzrefresh 对应路径:com/android/dzrefresh
* 2、artifactId module名称:App 对应路径:com/android/dzrefresh/App
* 3、version版本号:1.0.0 对应路径:com/android/dzrefresh/App/1.0.0
* 4、packaging 类库类型
* 5、description 描述
* 6、repository本地仓库路径
*/
uploadArchives{
configuration = configurations.archives
repositories.mavenDeployer{
// 配置本地仓库路径,模块跟目录下会生成目录
repository(url:"file://D://aars/")
pom.groupId = "com.haidilao"// 唯一标识(通常为模块包名,也可以任意)
pom.artifactId = "ccvideolibrary" // 项目名称(通常为类库模块名称,也可以任意)
pom.version = "1.0" // 版本号
pom.packaging='aar'
}
}
2、然后在terminate中输入命令
gradlew uploadArchives
然后就会在目录中生成文件
3、然后在项目的build.gradle中配置maven地址
(1)在buildscript-repositories下配置
(2)在allprojects-repositories下配置
maven{ url "file://D://aars/"}
4、然后在app的build.gradle-dependencies中配置
// 使用的是本地的私服
compile ('com.haidilao:ccvideolibrary:1.0@aar'){
transitive=true
}