AndroidStudio 如何上传Library到Nexus服务器上

 最近从同事那里了解到私服Nexus,觉得对通用Library的维护十分便捷,于是晚上加班研究了一番,现在终于搞明白了,趁今天下班之际,将自己的心得记录一下。

一.在Nexus服务器上创建一个远程仓库

AndroidStudio 如何上传Library到Nexus服务器上_第1张图片

AndroidStudio 如何上传Library到Nexus服务器上_第2张图片

AndroidStudio 如何上传Library到Nexus服务器上_第3张图片

AndroidStudio 如何上传Library到Nexus服务器上_第4张图片

点击【Create repository】后,就可以看到列表中生成了远程仓库【FaceRecognitionLibrary】.

AndroidStudio 如何上传Library到Nexus服务器上_第5张图片

二.复制刚才创建的远程仓库【FaceRecognitionLibrary】的URL,后面Library上传用到的仓库地址就是这个,如下图:

AndroidStudio 如何上传Library到Nexus服务器上_第6张图片

三.在自己的Library根目录下创建maven.gradle,内容如下:

apply plugin: 'maven'

task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.srcDirs
}

artifacts {
    archives androidSourcesJar
}

afterEvaluate { project ->

    uploadArchives {
        repositories {
            mavenDeployer {
                //远程仓库的地址
                repository("http://localhost:8081/repository/FaceRecognitionLibrary/") {
                    //nexus登录的用户名和密码
                    authentication(userName: "admin", password: "admin123")
                }

                pom.project {
                    //项目引用设置
                    groupId 'com.lib'
                    artifactId 'facerecognition'
                    version '1.0.0'
                    packaging 'aar'//打包的格式
                }
            }
        }

    }

}

AndroidStudio 如何上传Library到Nexus服务器上_第7张图片

 四.在自己的Library根目录build.gradle中添加如下内容:

 (1)添加 apply from: './maven.gradle'

AndroidStudio 如何上传Library到Nexus服务器上_第8张图片

(2)添加  远程仓库地址

buildscript {
    repositories {
        maven{//仓库的地址
            url 'http://localhost:8081/repository/FaceRecognitionLibrary/'
        }
    }
}

AndroidStudio 如何上传Library到Nexus服务器上_第9张图片

 五.make一下项目,会发现在Tasks下面会生成uploadArchives,如图:

AndroidStudio 如何上传Library到Nexus服务器上_第10张图片

六.双击uploadArchives等待上传完成

AndroidStudio 如何上传Library到Nexus服务器上_第11张图片

去Nexus服务器上就可以看到刚才上传的Libray,如图:

AndroidStudio 如何上传Library到Nexus服务器上_第12张图片

七.上传完成后,就可以在主项目中引用自己上传的Libray,引用方法如下:

(1)在项目根目录build.gradle中添加远程仓库地址

allprojects {
    repositories {
        google()
        jcenter()
        maven{//仓库的地址
            url 'http://localhost:8081/repository/FaceRecognitionLibrary/'
        }
    }
}

AndroidStudio 如何上传Library到Nexus服务器上_第13张图片

(2)在app根目录build.gradle里添加引用,千万别看错了里面的冒号:

 implementation 'com.lib:facerecognition:1.0.0'

 AndroidStudio 如何上传Library到Nexus服务器上_第14张图片

到了这里,Libray的上传以及引用就完成了. 

你可能感兴趣的:(Library上传)