美文网首页Android OtherAndroid Gradle
如何将Android studio中Library发布到私服Ne

如何将Android studio中Library发布到私服Ne

作者: fengyongge | 来源:发表于2019-02-20 11:00 被阅读0次

    搭建

    发布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
    

    相关文章

      网友评论

        本文标题:如何将Android studio中Library发布到私服Ne

        本文链接:https://www.haomeiwen.com/subject/dfbcyqtx.html