Android Library发布到jitpack.io
2019-05-09 本文已影响7人
yin_xin
前言
常用的android library发布平台有maven、jcenter、或者jitpack.io,本文需要介绍的如何发布到jitpack。
详情可见jitpack文档:https://jitpack.io
需要注意的是使用jitpack需要将代码托管到github或者码云上。
配置Gradle
为了在jitpack.io上构建library需要增加 android-maven 插件。
- 在工程root build.gradle:
buildscript {
dependencies {
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' // Add this line
- 在library/build.gradle 添加:
apply plugin: 'com.github.dcendents.android-maven'
group='com.github.YourUsername'
-
将代码上传到github仓库,发布一个release版本或者添加一个git tag。
创建
开始发布
配置好gradle并发布到release版本后,需要在https://jitpack.io开始构建,点击look up根据提示获取依赖版本正常使用即可。
多library模式
多library模式的方式与上面的步骤时一样的,每个library的gradle配置仍然如上面所述,唯一的区别是在使用依赖。
例如multi-lib工程包含了a,b两个library。
//该方式同时依赖了multi-lib里面配置的所有library,等同于下面两个方式
implementation 'com.github.ingxin:multi-lib:v0.0.3'
//单独依赖alibrary
implementation 'com.github.ingxin.multi-lib:alibrary:v0.0.3'
//单独依赖blibrary
implementation 'com.github.ingxin.multi-lib:blibrary:v0.0.3'
额外配置
发布需要将源码打包成jar或者aar,我们如果需要保留源码和文档可以在library的gradle文件中添加
//以下为配置library注释在打包jar后保留
// 打包源码jar
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
failOnError false
source = android.sourceSets.main.java.sourceFiles
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
classpath += configurations.compile
}
// 打包文档jar
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives sourcesJar
archives javadocJar
}
javadoc {
options {
//如果你的项目里面有中文注释的话,必须将格式设置为UTF-8,不然会出现乱码
encoding "UTF-8"
charSet 'UTF-8'
author true
version true
}
}