搭建
略
发布Library到私服
1新建文件nexus-push.gradle文件
需要注意的是nexus-push.gradle文件需要和你要上传library的build.gradle文件同一目录级别
apply plugin: 'maven-publish'
apply plugin: 'maven'
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://nexus.**/repository/maven-releases/") {
authentication(userName: "", password: "")
}
pom.groupId = 'com.zzti.fyg'
pom.artifactId = 'imagepicker'
pom.version = '1.1.0'
pom.project {
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
}
}
}
}
2模块引入nexus-push.gradle文件
在你需要上传的library的build.gradle文件中最后一行引入nexus-push.gradle文件
apply from: './nexus-push.gradle'
3上传aar到nexus私服
在Android Studio右侧gradle的Tasks中会多一个upload任务,点击uploadArchives,上传处理
上传操作.png坑:首次上传该库的时候找不到metadata,会报下面异常,但是你可以登录到web的nexus服务器上看下,已经上传成功,再次上传就不会遇到该提示。
Could not find metadata ... library/maven-metadata.xml in remote (http://localhost:8081/nexus/content/repositories/thirdparty)
下载使用私服上的Library
在要使用library的项目最外层的build.gradle中配置maven私服地址
allprojects {
repositories {
google()
jcenter()
maven {
url 'http://nexus.**/repository/maven-releases/'
credentials {
username ''
password ''
}
}
maven { url "https://jitpack.io" }
}
}
坑:切记gradle中进行权限配置,否则不能下载成功
问题:Android Studio引入的External Libraries存放在本地什么地方?
有时间我们需要更新新的library版本,由于本地有缓存,点击同步不能下载下来,我们可以找到本地library手动删除,在去同步下载。
Mac系统默认下载到:
/Users/(用户名)/.gradle/caches/modules-2/files-2.1
Windows系统默认下载到:
C:\Users\(用户名)\.gradle\caches\modules-2\files-2.1
网友评论