Gradle 发布共享库——如何通过Gradle发布Android依赖库(aar)到 jitpack 公共仓库

 

Gradle 发布共享库——如何通过Gradle发布Android依赖库(aar)到 jitpack 公共仓库

 上一篇博文Gradle 发布共享库——如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)已经介绍了如果将Java Libary依赖库发布到Jitpack上供大家方便使用,这里再补充下如何将Android依赖库发布达jitpack上方便使用,其实发布Android Libary库和发布Java Libary库步骤是一样的,都是本地工程集成gradle脚本代码——>上传到github发布——>JitPack获取编译 这三个步骤

唯有不同的是发布Android Libary(aar)和发布Java Libary(jar)的脚本不一样,这里记录下发布Android Libary库的脚本

一、代码集成:在项目工程(AndroidStudio创建的项目)中集成如下代码:

1. 项目根build.gradle中添加android-maven-gradle插件地方

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.0'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
    }
}
 

2.在项目的根目录下添加 publishJavaLib.gradle文件, 内容如下  :

apply plugin: 'maven'
apply plugin: 'com.github.dcendents.android-maven'
//android studio 错误: 编码GBK的不可映射字符
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}
//指定生成的javadoc文档编码格式,防止javadoc中文乱码
tasks.withType(Javadoc) {
    options {
        encoding "UTF-8"
        charSet 'UTF-8'
        links "http://docs.oracle.com/javase/7/docs/api"
    }
}

task sourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.sourceFiles
}
task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.sourceFiles
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    failOnError false
}
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}
//task classesJar(type: Jar) {
//    from "$buildDir/intermediates/classes/release"
//}

artifacts {
//    archives classesJar
    archives javadocJar
    archives sourcesJar
}

3. 在需要发布的module的gradle中添加引用:


//添加发布到jitpack脚本
apply from :"../publishAndroidLib.gradle"

其实只有发布脚本不同,其它的和发布java 依赖库步骤都是一样的,这里就不做重复说明了,请参考:上一篇博文Gradle 发布共享库——如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)

另外补充说明下:我们可以在同一个工程的里同时使用publishJavaLib.gradle脚本和publishAndroidLib.gradle脚本,同时发布java  Libary和Android Libary,然后具体使用再发布成功后有描述,可以可以参考我的github项目:utils 

扫描二维码关注公众号,回复: 11454094 查看本文章
 

猜你喜欢

转载自blog.csdn.net/xiao10034263/article/details/107592972