如何把自己写的项目让别人依赖呢,像compile ‘com.google.code.gson:gson:2.6.2‘一样?

上面的依赖library需要3各部分,即:GROUP_ID:ARTIFACT_ID:VERSION,其中GROUP_ID是com.google.code.gson(库的包名),ARTIFACT_ID是gson(类库名称),VERSION是2.6.2(版本号)。

怎么上传你的类库到jcenter仓库?

基本上大致的步骤可以慨括为,在AndroidStudio上准备好要上传的库项目,配置相关gradle代码,然后上传到bintray网站上,最后同步到jcenter仓库里。

在bintray.com上面注册一个账号,可使用github账号登录。

Create Package成功后,就可以看到我们刚创建的Package,如下图所示

把自己的Android Studio类库pull到jcenter上去

在这里我们将要上传的是Android Library module,如下图所示。

然后我们需要设置bintray的username和API Key来进行bintray的加密认证,这些信息将写在local.properties文件里。写在local.properties的原因在于,bintray的username和APIKey是敏感的私人信息,自己应该保管好,而不是把它上传到github上,正好把local.properties文件写在.gitignore里面过滤掉不会影响上传的github项目。

代码如下:

bintray.user=YOUR_BINTRAY_USERNAME

bintray.apikey=YOUR_BINTRAY_API_KEY

这里的username就是你bintray账号的用户名,APIKey可以在bintray页面的Edit Profile找到。

在要上传的类库module的build.gradle文件里添加如下代码:

apply plugin: ‘com.android.library‘

android {

compileSdkVersion 23

buildToolsVersion ‘23.0.3‘

defaultConfig {

minSdkVersion 11

targetSdkVersion 23

versionCode 1

versionName "1.0"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘

}

}

}

dependencies {

compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])

compile ‘com.android.support:appcompat-v7:23.4.0‘

}

//解决 gradlew 构建错误: 编码 GBK的不可映射字符

tasks.withType(Javadoc) {

options.encoding = "UTF-8"

}

ext {

bintrayRepo = ‘SwipeBackLayout‘ //这个应该是传到maven的仓库的

bintrayName = ‘SwipeBackLayoutLibrary‘ //发布的项目名字

publishedGroupId = ‘com.example.swipebackactivity‘

libraryName = ‘SwipeBackLayoutLibrary‘

artifact = ‘swipebacklayout‘

libraryDescription = ‘With immersion sideslip the effect of closed Activity‘ //项目的描述

siteUrl = ‘https://github.com/DyncKathline/SwipeBackLayout‘ // 项目的主页

gitUrl = ‘https://github.com/DyncKathline/SwipeBackLayout.git‘ // Git仓库的url

libraryVersion = ‘1.0.0‘ // 这个version是library的版本,更新后也需要更改这个值

developerId = ‘dync‘

developerName = ‘DyncKathline‘

developerEmail = [email protected]

licenseName = ‘The Apache Software License, Version 2.0‘

licenseUrl = ‘http://www.apache.org/licenses/LICENSE-2.0.txt‘

allLicenses = ["Apache-2.0"]

}

apply from: ‘https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle‘

apply from: ‘https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle‘

这里可以参考以下图

在这里需要把bintrayName写成之前Create Pacakge所填写的package name,publishedGroupId就是我们之前提到的GROUP_ID,artifact就是之前提到的ARTIFACT_ID,libraryVersion就是VERSION。

然后在project的build.gradle里添加以下代码:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

repositories {

jcenter()

}

dependencies {

classpath ‘com.android.tools.build:gradle:2.1.3‘

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6‘

classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.5‘

}

}

allprojects {

repositories {

jcenter()

}

}

task clean(type: Delete) {

delete rootProject.buildDir

}

最后在AndroidStudio提供的Terminal窗口执行如下命令:

gradlew install

如果顺利的话,过几分钟就会出现

BUILD SUCCESSFUL

接下来需要把build成功的文件upload到bintray上

gradlew bintrayUpload

顺利的话,也会出现

BUILD SUCCESSFUL

最后你可以在jcenter上看到如下图所示:

到了这里我们只要在上图点击“Add 头jCenter”,如下图所示:

接下来会跳到一个Request to include package GradientUI in jcenter的页面,什么都不用做,直接点击Send按钮就可以了。

大概过个2,3个小时,通过jcenter那边的审核就会在bintray上收到jcenter那边的同意消息提醒。 至此就要恭喜你,你的类库上传到jcenter成功了!

到这里大家就可以用自己的类库了,仅仅只需要添加一行代码:

dependencies {

compile ‘com.example.swipebackactivity:swipebacklayout:1.0.0‘

}

转载请注明出处,谢谢!

开源android项目到jcenter,AndroidStudio怎么将开源项目发布到jcenter相关推荐

  1. 开源android项目到jcenter,手把手教你将Android项目开源到JCenter两种方式以及挖坑和填坑(一)...

    - 前言 开发中,或多或少都会用到无私的程序猿分享的开源项目,Androidstudio中使用开源也很方便 例如家喻户晓的Rxjava,只需要一句话compile 'io.reactivex:rxja ...

  2. 如何把开源项目发布到Jcenter

    转载自:https://www.jianshu.com/p/f66972f0607a 首先我们应该注册一个JFrog Bintray的账号 Jfrog Bintray官网 这里我们可以注意到那个绿色的 ...

  3. 将Android项目发布到Jcenter

    将Android项目发布到Jcenter 意义 项目中开发一个公用的类库每次都用依赖项目的形式很繁琐,所以就尝试着发布到Jcenter, 这样就能支持Gradle一句话依赖使用. 准备工作 1. 需要 ...

  4. Android消息通信之无所不能的第三方开源项目EventBus

     Android消息通信之无所不能的第三方开源项目EventBus 在Android开发中,消息通信在开发过程中是比较重要但比较略微繁琐的过程,比如,Activity与Fragment之间的消息通 ...

  5. android studio 新建工程慢,关于AndroidStudio新建与编译项目速度慢解决办法

    android第一次新建项目是,相关依赖包需要下载很久,至少半小时,因为网速问题,还会多次下载失败. 解决办法如下: 1.通过镜像将gradle-5.4.1-all.zip下载到本地:解压到文件夹:D ...

  6. github 开源android项目

    转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...

  7. android计步器开源,开源Android项目pedometer计步器源码

    [实例简介] 开源Android项目计步器源码,打开软件后,手握手机,可根据你走路时胳膊摆的次数准确测试出你走了多少步,有意思吧,而且这个项目的源码是开源的,分iPhone版和Android版,此为a ...

  8. Java开源Android开源项目

    FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb.ePub和fb2.此外还支持直接读取zip.tar和gzip等压缩文档. 更多FBRea ...

  9. android studio倒计时代码,AndroidStudio项目制作倒计时模块

    前言 大家好,给大家带来AndroidStudio项目制作倒计时模块的概述,希望你们喜欢 项目难度 AndroidStudio项目制作倒计时模块的难度,不是很大,就是主要用了Timer和TimerTa ...

最新文章

  1. php5.4 mysql connect,php5.4 Call to undefined function mysql_connect()
  2. mondrain多维分析引擎+saiku web展现层的演示环境搭建
  3. python requests 接口测试_python+requests接口测试基础
  4. fiddler 之 返回数据乱码解决方法
  5. docker深入1-导入导出images和container的方式
  6. 知乎改版api接口之scrapy自动登陆
  7. jmeter模拟登陆
  8. 力扣45. 跳跃游戏 II(JavaScript)
  9. 头像+壁纸微信小程序源码
  10. 软件测试的维护,浅谈如何维护软件测试用例
  11. 道格拉斯-普克抽稀算法 曲线平滑
  12. 编程-----相反数求解算法
  13. 中国联通沃商-上海大学生手机应用创意、开发大赛活动
  14. android qq协议分析工具,分析Androidqq协议之收到qq群消息
  15. 基于移动位置服务器,基于移动位置的服务系统及方法
  16. 爪哇国新游记之一----第一个类Cube
  17. git npm命令集合
  18. Ubuntu 18.04 更换最优软件更新源
  19. 无数据蒸馏方向文献_1
  20. 数据库之《会员管理系统》

热门文章

  1. 文章阅读:Social-STAGE: Spatio-Temporal Multi-Modal Future Trajectory Forecast
  2. 最小阻力之路,系统问题分析与解决八步法
  3. VS 2017 命令行编译 sln
  4. 机器人碰撞检测几何模型设计
  5. Transformer课程 业务对话机器人Rasa 3.x Tuning Your NLU Model
  6. 360现在跟着微软混了,除了极速浏览器,不要用360的东西.
  7. 利用优化热点及新兴热点分析暴力犯罪
  8. ubuntu中qt调用mysql中的一些问题
  9. vue 表格列日期排序
  10. 基于Thinkphp的开源管理系统