#### Android Studio配置nexus上传
+ 根目录build代码
```
ext{
// 对应maven的groupId值,如果名字中包含SNAPSHOT字符,项目将会发布到snapshots仓库,没有则发布到releases仓库
GROUP= "net.meyki.library"
// 前面配置的snapshots仓库地址
SNAPSHOT_REPOSITORY_URL="http://192.168.1.167:8081/nexus/content/repositories/android/"
// 前面配置的releases仓库地址
RELEASE_REPOSITORY_URL= "http://192.168.1.167:8081/nexus/content/repositories/android/"
// 登录nexus oss的用户名
NEXUS_USERNAME= "Daimhim"
// 登录nexus oss的密码
NEXUS_PASSWORD= "125800"
}
```
+ 依赖build代码,在末尾添加
```
apply plugin: 'maven'
def getLibraryName() {
return this.name
}
// 用户名
def getRepositoryUsername() {
return rootProject.ext.NEXUS_USERNAME
}
// 用户密码
def getRepositoryPassword() {
return rootProject.ext.NEXUS_PASSWORD
}
// 正式Url
def getReleaseRepositoryUrl() {
return rootProject.ext.RELEASE_REPOSITORY_URL
}
def getSnapshotRepositoryUrl() {
return rootProject.ext.SNAPSHOT_REPOSITORY_URL
}
// 版本号
def getVersionName() {
return android.defaultConfig.versionName
}
def getPomArtifactId() {
return getLibraryName()
}
def getGroupId() {
return rootProject.ext.GROUP
}
afterEvaluate { project ->
uploadArchives {
repositories {
mavenDeployer {
pom.version = getVersionName()
pom.artifactId = getPomArtifactId()
pom.groupId = getGroupId()
repository(url: getReleaseRepositoryUrl()) {
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
}
snapshotRepository(url: getSnapshotRepositoryUrl()) {
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
}
}
}
}
// type显示指定任务类型或任务, 这里指定要执行Javadoc这个task,这个task在gradle中已经定义
task androidJavadocs(type: Javadoc) {
// 设置源码所在的位置
source = android.sourceSets.main.java.sourceFiles
}
// 生成javadoc.jar
task androidJavadocsJar(type: Jar) {
// 指定文档名称
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
// 生成sources.jar
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.sourceFiles
}
// 产生相关配置文件的任务
artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}
}
```
+ 说明
> compile 'com.jakewharton:butterknife:8.8.1'
以注解框架为例
groupId = com.jakewharton:
artifactId = butterknife:
version = 8.8.1
+ 根目录build代码
```
ext{
// 对应maven的groupId值,如果名字中包含SNAPSHOT字符,项目将会发布到snapshots仓库,没有则发布到releases仓库
GROUP= "net.meyki.library"
// 前面配置的snapshots仓库地址
SNAPSHOT_REPOSITORY_URL="http://192.168.1.167:8081/nexus/content/repositories/android/"
// 前面配置的releases仓库地址
RELEASE_REPOSITORY_URL= "http://192.168.1.167:8081/nexus/content/repositories/android/"
// 登录nexus oss的用户名
NEXUS_USERNAME= "Daimhim"
// 登录nexus oss的密码
NEXUS_PASSWORD= "125800"
}
```
+ 依赖build代码,在末尾添加
```
apply plugin: 'maven'
def getLibraryName() {
return this.name
}
// 用户名
def getRepositoryUsername() {
return rootProject.ext.NEXUS_USERNAME
}
// 用户密码
def getRepositoryPassword() {
return rootProject.ext.NEXUS_PASSWORD
}
// 正式Url
def getReleaseRepositoryUrl() {
return rootProject.ext.RELEASE_REPOSITORY_URL
}
def getSnapshotRepositoryUrl() {
return rootProject.ext.SNAPSHOT_REPOSITORY_URL
}
// 版本号
def getVersionName() {
return android.defaultConfig.versionName
}
def getPomArtifactId() {
return getLibraryName()
}
def getGroupId() {
return rootProject.ext.GROUP
}
afterEvaluate { project ->
uploadArchives {
repositories {
mavenDeployer {
pom.version = getVersionName()
pom.artifactId = getPomArtifactId()
pom.groupId = getGroupId()
repository(url: getReleaseRepositoryUrl()) {
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
}
snapshotRepository(url: getSnapshotRepositoryUrl()) {
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
}
}
}
}
// type显示指定任务类型或任务, 这里指定要执行Javadoc这个task,这个task在gradle中已经定义
task androidJavadocs(type: Javadoc) {
// 设置源码所在的位置
source = android.sourceSets.main.java.sourceFiles
}
// 生成javadoc.jar
task androidJavadocsJar(type: Jar) {
// 指定文档名称
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
// 生成sources.jar
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.sourceFiles
}
// 产生相关配置文件的任务
artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}
}
```
+ 说明
> compile 'com.jakewharton:butterknife:8.8.1'
以注解框架为例
groupId = com.jakewharton:
artifactId = butterknife:
version = 8.8.1