上一篇博文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