前言

在Android开发中我们经常使用第三方的开源项目,在app/build.gradle中compile类库,不用去下载文件以lib或modulelib的方式引入,是不是很方便呢?

如使用Butterknife时,我们会这样引入:

compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

就可以使用Butterknife了,为什么呢?下面将详细介绍

上传项目到Jcenter

要上传项目,首先要有项目

制作项目

上传到Jcenter是供别人使用的,它一般是工具或者简便我们开发的作用类库。这里我们模拟制作一个Android工具类库。

如上图,我们新建一个项目Jcenter,并在项目中新建一个module类库androidtools,并在类库中提供了两个工具类StringUtils和ToastUtils和一个图片资源

几点注意

在给moudle的类库起名字时,我们要注意几点:
以compile ‘com.jakewharton:butterknife:8.8.1’为例:

  • 项目名:比如”butterknife”,后面上传和使用时会用到
  • 包名:比如”com.jakewharton”
  • 版本号:比如”8.8.1”

注册/登录Bintray

为啥要注册Bintray?因为以compile引入的类库是放在Bintray上的,我们把项目上传到Bintray后才可以以compile的方式引入到项目中来

注册Bintray

  • Bintray官网:https://bintray.com/

    强调一下:这里我们选择For an Open Source Account
  • 创建用户
    注意:注册时,最好不要使用QQ邮箱,因为通过不了,可以使用网易的邮箱(我用的126邮箱是可以的,163没试)或者第三方登录(Github,Google,Twitter),并进入邮箱激活

    登录Bintray

    登录Bintray后,如图所示:

    创建maven仓库并加入新包

    创建仓库

  • 点击Add New Repository创建maven仓库
  • 填写maven仓库信息
    这里有几点需要注意:
    Name:填写maven仓库的名字;Type:选择仓库类型(这里选择Maven),Licence:这里选择Apache2.0,其他可以不填或者选择默认值

    往maven仓库中添加新包

  • maven创建成功以后,点击Add New Package
  • 编辑Package信息

    这里注意几点:
    参考: compile ‘com.jakewharton:butterknife:8.8.1’
    Name:这里就类似于butterknife,后面上传和引用时会用到
    License:这里选择Apache-2.0
    WebSite:把项目上传到Github后的地址(也可以不填写)
    Issues Tracker:把项目上传到Github后的issue(也可以不填写)
    Version Control:类似于”8.8.1”,版本号

Android中配置

在Project中的:build.gradle加入以下代码:

classpath 'com.novoda:bintray-release:0.5.0'

在Library中的:build.gradle加入以下代码:

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


注意对应关系:

上传Jcenter

获取Bintray API key

  • 回到JFrog Bintray个人主页点击 Edit
  • 选择 API Key 然后复制那一长串的key值(我们后面执行指令时会用到)

    上传

  • 回到AS打开Terminal控制台输入以下代码

    gradlew clean build bintrayUpload -PbintrayUser=xxx -PbintrayKey=xxx -PdryRun=false
    

    其中的PbintrayUser和PbintrayKey换成自己对应的信息

  • 当控制台显示BUILD SUCCESSFUL时,说明上传成功

    审核

    打开maven下我们创建的类库,点击右下角的 Add to JCenter 按钮

    填写审核描述

    填写完成直接Send,等待审核通过,通过后项目的右下角的Add to JCenter 按钮就会消失,显示关联到Jcenter

使用

在maven build settings中点击Gradle选项,查看如何引用


如图所示:compile ‘com.example:androidtools:1.0.0’

在项目中添加依赖

在项目中使用引入的代码和资源


升级

类库如何升级呢?我们加入一张图片类示例

加入图片资源

Add New Version

填写新版本名

配置升级gradle信息

回到AS打开Terminal控制台输入以下代码

gradlew clean build bintrayUpload -PbintrayUser=xxx -PbintrayKey=xxx -PdryRun=false

查看升级是否成功

修改导入compile信息,并查看


可以看到,刚才提交的resource图片资源可以引用,说明版本升级成功

参考:
Android 快速发布开源项目到jcenter
AndroidStudio上传自己的项目到Bintray jCenter远程仓库!

利用Android Studio快速发布开源项目到Jcenter相关推荐

  1. Android 快速发布开源项目到jcenter

    转载请标明出处(请勿转载删除底部微博.微信等信息): http://blog.csdn.net/lmj623565791/article/details/51148825: 本文出自:[张鸿洋的博客] ...

  2. Android Studio 运行HyperLPR开源项目安卓APP

    Android Studio 运行HyperLPR开源项目安卓APP 前提:已安装Android Studio 作为一个安卓小白,我学uni-app只是机缘巧合,只是想看看微信小程序怎么开发的,然后一 ...

  3. 利用Android Studio快速搭建App

    大家好,我是烤鸭: 给大家分享一个简单的用Android Studio快速搭建app 工具: Android Studio 64位 专业版 插件: Datepicker Timepicker okht ...

  4. Android 发布开源项目到jcenter

    简介 相信现在android程序猿们大多都使用了studio进行开发,想必大家对于compile 'com.android.support:appcompat-v7:23.3.0'这种方式引入开源项目 ...

  5. Android Studio快速导入他人项目方法

    本篇文章主要是gradle版本不匹配所导致的无法运行项目问题 1. 首先打开其他人项目,删除如下三个文件夹以及build.gradle文件 2.新建或者打开本地已创建的项目,将gradle文件夹和bu ...

  6. Android github上优秀开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  7. [转]Android github上优秀开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  8. 2017 Android github上优秀开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  9. 【Android RTMP】Android Studio 集成 x264 开源库 ( Ubuntu 交叉编译 | Android Studio 导入函数库 )

    文章目录 安卓直播推流专栏博客总结 一. x264 简介 二. x264 交叉编译 三. Android Studio 导入函数库 四. 交叉编译版本 五. GitHub 项目地址 安卓直播推流专栏博 ...

最新文章

  1. eclipse 中断言使用的设定
  2. C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
  3. 蓝牙协议分析(6)_BLE地址类型(蜗窝科技)
  4. BZOJ.4821.[SDOI2017]相关分析(线段树)
  5. 手机操作系统如何实现跨平台开发和使用
  6. Spring安全–幕后
  7. 编译3.0的linux内核,Ubuntu 编译 Linux 3.0-rc4 内核
  8. 风云获微软2010年MVP和MVP奖杯与奖牌
  9. c# mvvm模式获取当前窗口_对Vue中的MVVM原理解析和实现
  10. O-RAN:致力于ICDT融合,打造开放与智能的无线接入网
  11. Vue源码学习: 关于对Array的数据侦听
  12. Phaser开源2d引擎 html5游戏框架中文简介
  13. CS229学习笔记(1)引言、单变量线性回归
  14. spring AOP 代理(静态与动态+使用cglib实现)
  15. 计算机病毒分析流程图,电脑病毒分析-熊猫烧香病毒分析.pdf
  16. Spring Cloud Gateway 没有链路信息,我 TM 人傻了(下)
  17. 单相变换器的二次纹波分析
  18. MySQL数据库密码忘了,怎么修改密码,找回密码。
  19. 6-4布线问题(分支限界)
  20. BufferedWriter详解

热门文章

  1. [附源码]JAVA+ssm基于Java的校园交友平台(程序+Lw)
  2. 判断网络状态(移动、WiFi、无网络连接)
  3. 你熟悉他们使用的计算机软件吗,软件英文怎么说
  4. VirtualLab基础实验教程-1.杨氏双缝干涉
  5. Arduino fatal error: wiring.h: No such file or directory #include wiring.h
  6. MacOS Big Sur黑苹果安装实战 戴尔_7591
  7. Hive建表时指定分隔符或使用多字符分隔
  8. 腾讯为什么不投资技术?| 畅言
  9. Python+Vue计算机毕业设计考试应用系统92fyt(源码+程序+LW+部署)
  10. oracle to char中文乱码,Oracle to_char函数的使用方法