android 如何发布自己的开源库

一 新建library

android 如何发布自己的开源库_第1张图片
image.png

android 如何发布自己的开源库_第2张图片
image.png

二配置gradle

引入bintray-release

在项目的根目录的build.gradle添加bintray-release的classpath:classpath 'com.novoda:bintray-release:0.3.4' 如图:


android 如何发布自己的开源库_第3张图片
image.png
配置待上传moudle的build.gralde
apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'//添加

android {
  //保持不变
}

dependencies {
    //保持不变
}

//添加
publish {
    userOrg = 'username'//bintray.com用户名
    groupId = 'com.username'//jcenter上的路径
    artifactId = 'project name'//项目名称
    publishVersion = '1.0.0'//版本号
    desc = 'Oh hi, this is a nice description for a project, right?'//描述,不重要
    website = 'https://github.com/hyman/basetools'//网站,不重要;尽量模拟github上的地址,例如我这样的;当然你有地址最好了
}

二 注册登录Jfrog bintray

个人免费账户注册 https://bintray.com/signup/oss
登录成功之后进入个人信息找到自己的key这个后面上传要用。

android 如何发布自己的开源库_第4张图片
image.png
android 如何发布自己的开源库_第5张图片
image.png

上传

这里自己测的时候愚了。鸿神的是mac下的命令。。。。真尴尬
PbintrayUser 就是你注册binatray的用户名
PbintrayKey 就是个人信息里面的那个API Key
window系统

 gradlew clean build bintrayUpload 
 -PbintrayUser=username
 -PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx 
 -PdryRun=false

mac系统

 ./gradlew clean build bintrayUpload 
 -PbintrayUser=username
 -PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx 
 -PdryRun=false

看到了这个就成功

成功

此时只是上传到maven仓库成功,要添加依赖的话得先配置maven,xxx是你的用户名
android 如何发布自己的开源库_第6张图片
image.png

然后添加依赖
compile 'com.lixianzhong:mylibrary:1.0.0'
你是不是想说,别人的仓库只要添加依赖就可以了啊。别急看下面
android 如何发布自己的开源库_第7张图片
添加到jecent第一步

android 如何发布自己的开源库_第8张图片
添加到jecent第二步

android 如何发布自己的开源库_第9张图片
添加到jecent第三步

内容你自己看着输入,然后等审核通过就可以了一行代码有依赖了,审核一般隔天就好了。

失败了?

android 如何发布自己的开源库_第10张图片
编码不对

这是由于在编译过程中执行了javadoc检查,说编码不对,我们一般都utf-8,但是系统默认编码是GBK,那么我们在项目根目录的 builde.gradle配置下

allprojects {
    repositories {
        google()
        jcenter()
    }
    //配置这个
    tasks.withType(Javadoc) {
        options.addStringOption('Xdoclint:none', '-quiet')
        options.addStringOption('encoding', 'UTF-8')
    }
}

注意:

  • 需要添加Javahome的环境变量
  • 可能会爆javadoc的异常(可参考下面的Bug链接)
  • No such property: FOR_RUNTIME for class: org.gradle.api.attributes.Usage
    Sdk版本和Binatray版本号不对应。

参考链接
https://blog.csdn.net/lmj623565791/article/details/51148825 鸿洋
https://blog.csdn.net/u013231041/article/details/70174354
https://blog.csdn.net/xingshen58/article/details/51644599 bug 问题

你可能感兴趣的:(android 如何发布自己的开源库)