Android学习笔记3--上传aar包到maven仓库

需求:

最近在学习组件化,自己尝试着使用nexus搭建本地仓库,上传自己的aar包到仓库

上传aar包代码

maven_push.gradle,单独保存到一个gradle文件中,方便引用

apply plugin: 'maven'

def maven_url = "http://127.0.0.1:8081/repository/debug/"
def m_Username = "admin"
def m_Password = "admin123"
def m_Name = "myName"
def m_Version = "1.0.1"
def m_GroupId = "com.test"
def m_Description = ""
def m_ArtifactId = "mylib"
def m_Type = "aar"

/**
 * 生成代码的文档,没有这个,引用的包中会没有代码中的文档
 */
task androidJavadocs(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    failOnError false
}

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: maven_url) {
                authentication(userName: m_Username, password: m_Password)
            }
            pom.project {
                name m_Name
                version m_Version
                artifactId m_ArtifactId
                groupId m_GroupId
                packaging m_Type
                description m_Description
            }
        }
    }
}

在Module工程中的build.gradle中引用maven_push.gradle文件

apply from: './maven_push.gradle'

这句话不要写在最后,写在dependencies节点前就行,因为我发现写在最后上传的时候,会出现第三方包解析错误

补充

错误: 编码GBK的不可映射字符

在根build.gradle中的allprojects节点下增加以下代码,基本就可以解决生成javadoc时的错误

    tasks.withType(Javadoc) {
        options.addStringOption('Xdoclint:none', '-quiet')
        options.addStringOption('encoding', 'UTF-8')
        options.addStringOption('charSet', 'UTF-8')
    }

引用自己的包

在根build.gradle中的allprojects节点下的repositories节点中增加以下节点

maven {
            url "http://127.0.0.1:8081/repository/debug/"
}

你可能感兴趣的:(Android学习笔记3--上传aar包到maven仓库)