发布自己Library到JCenter

Bintray是什么

Bintray其实只是一个网站,他们负责维护JCenter这个库,就是说JCenter库是托管在Bintray网站上的。我们在build.gradle中写得如下代码,其实就是从JCenter中下载别人上传的包。这个跟maven 类似

compile 'com.android.support:appcompat-v7:24+'

如何上传自己写好的Library呢?

1.在项目中新建library。


2.Bintray网站上创建账户(注意科学上网)

注册地址
当然你也可以用github账号直接登录。


3.创建仓库

注意:创建的maven仓名字和类型都要写成maven

4.配置文件

在根目录build.gradle添加

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath 'com.novoda:bintray-release:0.3.4'
    }
}

再在你自己需要上传的library中的build.gradle添加

apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'

...

publish {
    userOrg = 'panacena'      //Bintray注册的用户名
    /*
     *  compile 'com.android.support:appcompat-v7:24.0.0'
    */
    groupId =  'com.zkk.view'         //compile引用时的groupId 形如 com.android.support
    artifactId = 'RulerView'     //compile引用时的项目名  形如 appcompat-v7
    publishVersion = '1.0.0'    //compile引用时的版本号   形如 24.0.0
    desc = 'Android自定义标尺控件(选择身高、体重等)' //描述
    website = 'https://github.com/panacena/RuleView' //可以填写  git地址
}

若是有中文注释,在moudel的build.gradle

allprojects {
    repositories {
        jcenter()
    }
    //加上这些
    tasks.withType(Javadoc) {
        options{ encoding "UTF-8"
            charSet 'UTF-8'
            links "http://docs.oracle.com/javase/7/docs/api"
        }
    }
}

5.Terminal上传

点击Android studio下方的 Terminal,在查询APIKEY后输入如下命令。 APIKEY查询方式:

gradle clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false

其中BINTRAY_USERNAME换成Bintray注册的用户名,BINTRAY_KEY换成自己的APIKEY,若是出现如下错误,请确认 gradle环境变量是否正确。

错误: 找不到或无法加载主类 org.gradle.wrapper.GradleWrapperMain  

提示上传成功后:

6.上传到Jcenter

成功后可以在 Bintray中查看到,这时在点击Add to JCenter,最后等待Bintray审核通过。通过后就可以直接通过 compile 的方式使用你自己的library


最后无耻的将我自己的自定义view的github地址抛出:
Android自定义标尺控件(选择身高、体重等)


感激

感谢以下文章

  • 新版Bintray网站发布Library到JCenter
  • 新版Bintray-极简上传Library到JCenter

你可能感兴趣的:(android)