美文网首页Android开发经验谈Android开发
Android Library发布到jitpack.io

Android Library发布到jitpack.io

作者: yin_xin | 来源:发表于2019-05-09 00:57 被阅读7次

    前言

    常用的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
        }
    }
    

    相关文章

      网友评论

        本文标题:Android Library发布到jitpack.io

        本文链接:https://www.haomeiwen.com/subject/jqnboqtx.html