bintray - CSDN
精华内容
参与话题
  • 为什么发布自己项目(aar)到JCenter呢,这个答案显而易见,把自己开发功能库或者插件库制作成aar并且发布上去,这样开发者想使用项目的功能或者插件,就可以通过Android Studio自带的gradle方式来添加aar下载到...

     为什么发布自己项目(aar)到JCenter呢,这个答案显而易见,把自己开发功能库或者插件库制作成aar并且发布上去,这样开发者想使用项目的功能或者插件,就可以通过Android Studio自带的gradle方式来添加aar下载到开发者自己的项目里面,简单地说,简洁,方便调用。还有一方面JCenter兼容maven,Android Studio可以默认使用JCenter了。下面我通过自己发布项目Android 自定义通讯录(仿Ios反弹效果+模糊搜索+查看手机通讯录+拉伸导航条)为例子来讲解下发布项目到JCenter库所需要的步骤。

    1. Bintray账号 
      需要一个bintray网站的账号,需要有github帐号可以直接登,如果没有就只能注册,bintray传送门

    2. 新建项目,在项目中添加所需插件 
      这边就是我自己项目为例子,在根项目的build.gradle的添加上传到公共的JCenter仓库所需俩个插件 
      classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0' 
      classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
      ,如图:这里写图片描述

    3. 构建module模块build.gradle信息

    apply plugin: 'com.android.library'
    //添加申请生成插件
    apply plugin: 'com.github.dcendents.android-maven'
    apply plugin: 'com.jfrog.bintray'
    
    
    def siteUrl = 'https://github.com/WX-JIN/JContact' //项目在github主页地址
    def gitUrl = 'https://github.com/WX-JIN/JContact.git'   //Git仓库的地址
    
    group = "com.soubw"//发布aar前缀根节点
    
    version = "0.0.1"//发布aar的库版本
    
    //最后生成是compile 'com.soubw:jcontactlib:0.0.1' 就是group + :+module名字 + :+version
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"
    
        defaultConfig {
            minSdkVersion 14
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    
    install {
        repositories.mavenInstaller {
            // This generates POM.xml with proper parameters
            pom {
                project {
                    packaging 'aar'
                    name 'JContact'//添加项目描述
                    url siteUrl
                    licenses {
                        license {
                            name 'The Apache Software License, Version 2.0'
                            url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                        }
                    }
                    developers {
                        developer {
                            id 'wx_jin'//设置自己ID
                            name 'WangXiaojin'//设置自己名字
                            email '85268837@qq.com'//设置自己邮箱
                        }
                    }
                    scm {
                        connection gitUrl
                        developerConnection gitUrl
                        url siteUrl
                    }
                }
            }
        }
    }
    
    task sourcesJar(type: Jar) {
        from android.sourceSets.main.java.srcDirs
        classifier = 'sources'
    }
    
    task javadoc(type: Javadoc) {
        source = android.sourceSets.main.java.srcDirs
        classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    }
    
    task javadocJar(type: Jar, dependsOn: javadoc) {
        classifier = 'javadoc'
        from javadoc.destinationDir
    }
    
    artifacts {
        archives javadocJar
        archives sourcesJar
    }
    
    Properties properties = new Properties()
    properties.load(project.rootProject.file('local.properties').newDataInputStream())
    bintray {
        user = properties.getProperty("bintray.user")
        key = properties.getProperty("bintray.apikey")
        configurations = ['archives']
        pkg {
            repo = "maven"
            name = "jcontact" //项目在JCenter的名字
            websiteUrl = siteUrl
            vcsUrl = gitUrl
            licenses = ["Apache-2.0"]
            publish = true
        }
    }
    
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:23.1.1'
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106

    按配置,修改有中文字既可以了!

    1. 配置自己网站的信息 
      我们上传到jcenter的网站Bintray,需要用户验证,一个网站用户名一个是配置清单的API KEY 这个API KEY是从网站清单获取的,在https://bintray.com/profile/edit 可以看到API KEY一栏,这边需要你再次网站密码,才能看到你API KEY 这里写图片描述
      这俩个配置信息即我们上面配置bintray.user和bintray.apikey,在步骤3的时候,我们获取这个信息是从local.properties这个文件读取的,我们需要在自己项目的local.properties添加 
      bintray.user=你bintray的用户名 
      bintray.apikey=你的网站的API KEY
       
      这里写图片描述
      这里为什么要写在local.properties呢,因为一般我们都是使用github上传项目到github,这时github会自动忽略local.properties这个文件上传。或者使用git(可以利用gitignore忽略这个文件到git)

      1. 执行 
        在stuido的terminal执行 
        gradlew install 这里写图片描述 
        这里写图片描述 
        如果提示成功接着进行上传代码 
        gradlew bintrayUpload 
        这里写图片描述 
        这边如果出错,一般编码问题,自己修改下就可以了!

      2. 在网站上提交申请到Jcenter 
        当bintrayUpload成功之后,到自己网站项目提交到申请这里写图片描述

    最后差不多几小时,一般都通过申请!


    参考文章: 
    https://www.virag.si/2015/01/publishing-gradle-android-library-to-jcenter/

    展开全文
  • 转载请标明出处:一片枫叶的专栏 今天我们将讲解一下如何将Android项目发布到Jcenter代码库中。Jcenter是一个maven的标准代码库,向我们平时通过compile  引用的library库其实基本都是从Jcenter库中下载的,...

    转载请标明出处:一片枫叶的专栏

    今天我们将讲解一下如何将Android项目发布到Jcenter代码库中。Jcenter是一个maven的标准代码库,向我们平时通过compile 
    引用的library库其实基本都是从Jcenter库中下载的,所以还是很有必要了解如何将Android项目发布到Jcenter代码库的。

    一、compile做了什么? 
    现在大部分同学都是使用android studio开发android项目了,使用android studio我们只需要简单的一句代码就可以实现引用其他代码库的操作,假如你想在Android Studio中引入一个library到你的项目,你只需添加如下的一行代码到模块的build.gradle文件中:

    dependencies {
        compile 'com.inthecheesefactory.thecheeselibrary:fb-like:0.9.3'
    }
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    就是如此简单的一行代码,我们就可以使用这个library了。那么Android studio背后做了什么让我们可以下载这个类库并直接使用了呢?

    Android Studio是从build.gradle里面定义的Maven 仓库服务器上下载library的。Apache Maven是Apache开发的一个工具,提供了用于贡献library的文件服务器。总的来说,只有两个标准的Android library文件服务器:jcenter 和 Maven Central。怎么样看着很熟悉吧,就是我们平时在Android项目根目录下有一个build.gradle文件,如图所示: 
    这里写图片描述

    这里面定义的repositories其实就是Android studio编译时下载类库的代码库,在我们添加编译类库的时候:

    compile 'com.android.support:appcompat-v7:23.1.1'
    • 1
    • 1

    Android studio背后就会在定义的jcenter代码库中根据compile中填写的URL寻找相应的类库。

    好吧,既然如此,那么如果我们想通过compile的方式引用自己的开源库,那么我们就需要将自己的开源库上传到jcenter代码库中,但是如何将自己的开源库上传到jcenter代码库呢?O(∩_∩)O哈哈~,这也是本文所要讲解的内容。

    二、创建Android项目 
    创建一个普通的Android studio项目,同时创建一个module,具体的创建过程这里不再详细叙述。。。

    三、在bintray中注册账号 
    bintray是一个jcenter的管理网站,jcenter是一个maven代码库,而bintray是这个代码库的代理商,所以想要向jcenter中上传代码需要首先在bintray中注册一个账号,注册网址:  bintray,  具体的注册过程这里不再叙述,需要注意的是,注册完成之后在个人信息的栏目中,找到edit,你会发现bintray会自动生成一个API key,这个字符串会在后续上传过程中使用; 
    这里写图片描述

    四、准备上传代码

    • 配置个人信息 
      然后到你的.gradle目录下(如果你没有配置过GRADLE_USER_HOME的环境变量,则是在你的用户目录下),编辑gradle.properties(如果没有则创建),加入配置:
    BINTRAY_USER=xxx  
    BINTRAY_KEY=xxx  
    • 1
    • 2
    • 1
    • 2
    • 配置项目信息 
      在module的build.gradle中添加一下信息:
    buildscript {  
        repositories {  
            jcenter()  
        }  
        dependencies {  
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'  
        }  
    } 
    
    apply from: 'https://raw.githubusercontent.com/msdx/gradle-publish/master/bintray.gradle'
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 编译打包项目 
      注意这个过程中可能会下载一些jar包,若是卡在一些地方一直loading,可能需要翻墙。

    • 上传项目 
      配置完成后,在doc命令中执行gradle bintray,即会进行编译、打包以及发布。 
      这里写图片描述

    • 发布至jcenter中

    进入bintray官网,然后选择jcenter代码库,然后点击Include My Package,选择自己上传的代码库,然后就可以写一下你的提交请求(不谢也是可以的),点“Send”,接下来就看管理员审核了。

    审核 
    等待管理员审核。通常都很快能通过。大概需要2-3小时的时间。。。

    参考文章: 
    http://blog.csdn.net/maosidiaoxian/article/details/43148643 
    http://www.open-open.com/lib/view/open1435109824278.html

    最近又发现了一个更加简单的发布Jcenter的方式:亲测:最简单的Android studio发布Library到Jcenter

    1.配置module

    找到Library的Build.gradle文件,加入如下代码

    ext {  
       PUBLISH_GROUP_ID = 'cn.ziyeyouhu.android' 
       PUBLISH_ARTIFACT_ID = 'sweet-alert-dialog'   
       PUBLISH_VERSION = '1.0'
        }
    
    apply from: 'https://raw.githubusercontent.com/blundell/release-android-library/master/android-release-aar.gradle'
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    这里写图片描述

    • PUBLISH_GROUP_ID 开发者名称

      • PUBLISH_ARTIFACT_ID 项目名称

      • PUBLISH_VERSION 版本

    compile地址:

    'cn.ziyeyouhu.android:sweet-alert-dialog:1.0'
    • 1
    • 1

    2.生成zip

    1.terminal中执行gradlew clean build generateRelease

    这里写图片描述

    2.一系列编译之后,你将看到

    这里写图片描述

    去上面的路径找到你的zip包,上传将用到

    3.bintray

    • 进入bintray,点击注册一个账号

    • 点击 New Repository ,新建一个仓库

    这里写图片描述

    • type选Maven,其余的忽略

    这里写图片描述

    • 新建Version并且上传zip包

    这里写图片描述

    • 进入version

    这里写图片描述

    • 点击Upload Files,上传之前生成的Zip包,点击Click to add files,要选中exploding the archive选项

    这里写图片描述

    • 下面的页面会提示你有文件没有publish,publish就可以

    4.发布到Jcenter

    • 回到package,看到右下角add to jcenter

    这里写图片描述

    • 后面就是审核了,不出意外的话几个小时,如果你想让别人知道你的compile地址

    这里写图片描述

    以上是另一种简便的发布Jcenter的方式,再次感谢:吻中求胜

    总结: 
    本文主要介绍了如何将Android开源项目发布至JCenter代码库,这也是以后我们分析github开源项目的基础,学习了本文之后我们就可以将自己的开源项目发布至Jcenter中并让其他同学使用了。


    另外对github项目,开源项目解析感兴趣的同学可以参考我的: 
    Github项目解析(一)–>上传android项目至github

    展开全文
  • Android 上传自己的开源库到Bintray

    背景

    我们在项目中引用过各路大神的开源库,但是如何将自己的Library发布到Maven仓库呢,搜索了半天,知道了jcenter是由 bintray.com维护的Maven服务器,该服务器是现在最通用的,可以试一下,但是网上的方法各种复杂,不想搞,终于找到了一种超级简单的方法,在此做个记录分享给大家。

    注册

    打开 bintray.com,点击右上角“Sign In”,进入登录页面。
    bintray首页
    bintray登录页面
    点击Sign Up to an Open Source account进入注册页面。
    千万注意不要直接点首页的 START YOUR FREE TRIAL 直接注册,官网默认的注册网站是给组织使用的,并非个人,否则后续会导致各种问题。
    bintray注册页面
    具体注册方法就不多说了,大家应该都会,建议关联github账号,据说如果通过邮箱注册,需要国外的邮箱,gitHub亲测,好使。

    创建Maven仓库

    点击Add New Repository按钮创建Maven仓库

    创建Maven仓库时,Name是你自己的仓库名可以随意填写,我就随便取了个MyMoven的名字,Type一定要选择Maven,Default Licenses需要选择Apache-2.0,至于为什么选Apache-2.0没有具体研究。
    创建Maven仓库页面
    点击Create按钮创建MyMoven仓库成功。

    到这里我们的第一步已经完成了,注册Bintray个人账号,创建Moven仓库,下面介绍如何将我们的Library上传到这个仓库中。

    工程配置

    • 主工程根目录下的build.gradle文件中加入上传开源库的依赖,这里要注意一下gradle版本需要与bintray-release版本保持一致。
    build script {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.2.2'
            classpath 'com.novoda:bintray-release:0.4.0'
        }
    }
    
    all projects {
        repositories {
            jcenter()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    
    • Library工程的build.gradle配置
      1 添加apply
    apply plugin: 'com.novoda.bintray-release'

    2 忽略错误信息

    android {
        ***
        ***
        lintOptions {
            abortOnError false
        }
    }

    3 如果有中文注释加入如下代码

    android {
        ***
        ***
    }
    
    all projects {
        repositories {
            jcenter()
        }
        tasks.withType(Javadoc) {
            options{ encoding "UTF-8"
                charSet 'UTF-8'
                links "http://docs.oracle.com/javase/7/docs/api"
            }
        }
    }

    4 配置binary上传基本信息,具体配置和参考Bintray Configuration,下面是我的配置

    publish {
        repoName = 'MyMoven'           //bintray仓库名
        userOrg = 'wyshikai'           //bintray注册的用户名
        groupId = 'com.sky'            //compile引用时的第1部分groupId
        artifactId = 'CustomTab'       //compile引用时的第2部分项目名
        publishVersion = '1.0.0'       //compile引用时的第3部分版本号
        desc = 'This is a simple custom tab library for Android'
        website = 'https://github.com/wyshikai837/CustomTab'
    }

    配置就大功告成了


    发布到Binary

    1 首先需要找到API KEY,点击账号管理中的Edit Profile
    Edit Profile
    API KEY
    复制API KEY
    2 在Android Studio的terminal或者cmd(注意要先进入工程根目录)中,执行命令

    ./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false

    其中BINTRAY_USERNAME是账号名,BINTRAY_KEY是API KEY
    注意这个命令是在MAC系统下的,如果在Windows系统需要去掉./

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

    如果最后显示,表示发布成功了

    BUILD SUCCESSFUL
    Total time: *** secs

    打开刚刚我们创建的仓库,就可以看到我们上传的Library
    Library
    点击Library查看详情,如果看到Maven build settings和Add to JCenter,那么恭喜你最重要的一步已经完成了。
    详细信息
    3 发布到Center
    点击上图中的Add to JCenter按钮,填写说明,并提交审核,就可以静静的等待了,基本上几个小时就可以通过
    提交审核
    发布工作已经完成了,是不是很简单啊,这里还想啰嗦一句,大家在配置信息的时候一定要注意Gradle与Bintray版本对应,否则会导致所有步骤都没有问题,并且提交JCenter审核也通过了,就是引用不到库,我查了好久才查到是这个问题。


    依赖使用

    在审核通过前可以配置私有仓库来使用
    私有仓库地址
    在根目录的build.gradle下配置,私有仓库地址

    allprojects {
        repositories {
            jcenter()
            maven {url 'https://dl.bintray.com/wyshikai/MyMoven/'}
        }
    }

    在使用到仓库的工程中加入依赖即可

    compile 'com.sky:CustomTab:1.0.0'

    等待审核通过后,将私有仓库地址删除即可。

    展开全文
  • Android:Bintray发布

    2018-11-29 16:15:58
    两种上传方式:第一种:https://blog.csdn.net/qq_15003505/article/details/53113391第一种方式详解,写的很详细,就不按步骤来了 需要注意的是要注册个人账号,企业账号没有add to ... 还有需要注意的是: ...

    两种上传方式:第一种:https://blog.csdn.net/qq_15003505/article/details/53113391第一种方式详解,写的很详细,就不按步骤来了

    需要注意的是要注册个人账号,企业账号没有add to JCenter

    还有需要注意的是:

    第二种方式:个人感觉这种方式比较简单一点https://blog.csdn.net/u014780554/article/details/79628041

    在上传过程中如果遇到卡顿问题:

    lib_rdupload:install
    > Building 98% > :...:bintrayUpload      说明网络卡顿,ctrl+c Y,结束重新开始

    其余的问题:就是名称没对应上,自己检查修改即可,走过的坑啊

     

    展开全文
  • 新版Bintray-极简上传Library到JCenter

    千次阅读 热门讨论 2016-12-20 11:57:14
    新版Bintray上传Library到JCenter背景最近得闲将封装的开源项目上传到JCenter上,方便供人使用;突然发现Bintray网站更新变化很大,网上很多旧的博客并不适用,而且很容易走很多弯路!这里做个广告,开源库EventBus...
  • 导读:Android在bintray上创建自己的maven仓库 之前有一个在github上创建自己的maven仓库,这一次是基于bintray上创建自己的maven仓库。 在bintray上注册账号 打开 bintray.com,点击右上角 Sign In 按钮...
  • 发布开源项目到 Bintray、Jcenter 遇到的坑 至于正常的发布流程,网上都有。 配置依赖: project 的 build.gradle dependencies { // 添加上传到jcenter所需的插件 classpath '...
  • 说下为什么要用JCenter吧,首先JCenter 库是托管在 Bintray 网站上的,发布库到JCenter是需要注册Bintray网站的,JCenter在你创建项目的,是默认给你添加的,谷歌亲儿子,相关支持也比较到位,兼容也比较跟随版本,...
  • 上传库到Bintray.com

    2020-05-21 23:32:38
    上传库到Bintray.com在项目根目录下build.gradle中添加以下内容在库模块目录下新建bintray.gradle文件在库模块目录下build.gradle中添加以下内容感谢 在项目根目录下build.gradle中添加以下内容 buildscript { ...
  • bintray-release使用指南(一)

    千次阅读 2017-08-31 18:56:21
    1、bintray-release是什么? 2、添加到工程方案。 3、示例系列文章: bintray-release使用指南(一) bintray-release配置publish闭包(二) bintray-release自定义Publication(三) bintray-release定义额外...
  • 我们一般在在github上下载下来的代码,有时候会提示Plugin with id ‘com.novoda.bintray-release’ not found的错误,这个怎么解决呢,其实很简单,只要在你的根目录下的build.gradle中添加dependencies { ...
  • 由于Android Studio有的依赖包国内访问不了,设置不了代理,后来在Android Studio 3.1,一直提示“Cause: jcenter.bintray.com:443 failed to respond”,后来搜索到网上说可能是代理的原因,在“C:\Users\...
  • 解决Unknown host 'jcenter.bintray.com'问题

    万次阅读 2018-07-04 16:40:04
    转自 解决Unknown host ‘jcenter.bintray.com’问题 1、如图报错 2、原因: build.gradle中jcenter()或maven()被墙了。 3、解决: 方法一: 使用开源中国的maven库: 阿里云的:...
  • 1.原因jcenter.bintray.com被墙了 2.修改build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { maven { url...
  • 一般在打开下载好的第三方的源码时会执行下载任务,原因是因为下载文件被墙了。 解决办法, 1.切换到项目所在的文件夹,找到文件夹下面的build.gradle文件。 2.然后用文本打开该build.gradle文件,将文件中2个...
  • 国内访问jcenter中心加载资源时,常出现的网络问题。 解决方法: 项目的build.gradle中,变更语句如下: ...http://jcenter.bintray.com/" } } 或者, //没有亲自测试过 repositories { maven { u...
  • Android studio 导入Module时有时会报错误:Error:(2, 0) Plugin with id ‘com.jfrog.bintray’ not found导致这个的原因是该项目的原作者会把项目发布到maven中央仓库中,所以在gradle中添加了相关的maven发布任务...
  • Android Studio有的依赖包国内访问不了,本人设置了代理,不过没有弄成功,虽然设置了外网ip及端口还是不能添加依赖包,在网上搜了几遍之后,有解决方案如下: 找到“C:\Users\Administrator\.gradle\gradle....
  • bintray账户创建

    千次阅读 2017-05-03 16:12:18
    需要关联邮箱,且不能是网易邮箱和QQ邮箱,但是我们可以绕个弯,用foxmail,相当于用QQ邮箱一个别名,在QQ邮箱里可以设置foxmail
  • ‘com.jfrog.bintray’ not found.当然,“”里面的id可能不同, 原因: 这是原因为该项目的原作者会把项目发布到maven中央仓库中,所以在gradle中添加了相关的maven发布任务。 咱们又不能连到maven的仓库,所以...
1 2 3 4 5 ... 20
收藏数 9,850
精华内容 3,940
热门标签
关键字:

bintray