赞
踩
step1.在项目Module build.gradle中添加gradle代码
例如:library/build.gradle
apply plugin: 'com.android.library' apply plugin: 'maven' android{...} dependencies{...} group = 'com.pm.qrcode' version = '0.1.1' uploadArchives { repositories { mavenDeployer { //提交到远程服务器: /* repository(url: "http://www.xxx.com/repos") { authentication(userName: "admin", password: "admin") }*/ //本地的Maven地址 repository(url: uri('../repositories')) // pom.groupId = group pom.version = version pom.artifactId = 'qrcode' } } }
step2. Android Studio 执行uploadArchives Task生成本地仓库
step1. 在需要使用的项目根目录build.gradle中添加本地仓库地址
buildscript { repositories { maven { url("file://" + project.rootDir.absolutePath + "/repositories") } google() jcenter() } } allprojects { maven { url("file://" + project.rootDir.absolutePath + "/repositories") } google() jcenter() } }
step2. 在需要使用的Moudle build.gradle中
implementation 'com.pm.qrcode:qrcode:0.1.1'
注意:有时候遇到依赖需要传递的时候,需要transitive = true 如下:
implementation('com.pm.hybridsdk:hybridsdk:0.0.1') {
transitive = true
}
step1.在项目Moudle 节点执行build Task生成xxx-debug.aar 和 xxx-release.aar包
step2.拷贝aar包到使用的项目中libs下,在build.gradle中
android{...}
repositories {
flatDir {
dirs 'libs'
}
}
dependencies{
implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')
}
或者拷贝aar包到项目根目录repos下,在项目根目录build.gradle中声明仓库
buildscript { repositories { google() jcenter() flatDir { dirs '../repos' } } } allprojects { google() jcenter() flatDir { dirs '../repos' } } }
step3. 在需要使用的Moudle build.gradle中声明依赖
implementation(name: 'hybridsdk-release', ext: 'aar')
总结:两种方式对比,第二种方式有弊端,如果我们的aar包中又有依赖三方的库,比如:Rxjava,EventBus等。这时候三方的依赖不会被编译进我们的aar包中,那么在使用aar包就会有问题。这种情况我们只能采用第一种方式(本地仓库的方式)。如果我们的aar包完全没有依赖三方的库,那么我们可以采用第二种方式(编译生成aar包的方式),简单快捷。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。