Android开发经验谈Android开发

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 插件。

  1. 在工程root build.gradle:
buildscript { 
  dependencies {
    classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' // Add this line
  1. 在library/build.gradle 添加:
 apply plugin: 'com.github.dcendents.android-maven'  

 group='com.github.YourUsername'

  1. 将代码上传到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
    }
}
上一篇下一篇

猜你喜欢

热点阅读