如何把自己写的项目让别人依赖呢,像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. mysql win10 5.5_win10上MySql5.5版本升级到5.7
  2. 【Qt】2D绘图之填充规则
  3. 无微不至:调整_lm_cache_res_cleanup解决Shared Pool 的4031问题
  4. Python 线程事件 Event - Python零基础入门教程
  5. 反序列化的时候出现eof exception_FastJson序列化时候出现了$ref?还不赶紧学习下...
  6. iso图像测试卡_4700万像素 五轴防抖 徕卡正式发布SL2无反相机
  7. 终于有人把卷积神经网络(CNN)讲明白了
  8. 设计模式是什么鬼(状态)
  9. win11能否安装cad Windows11安装cad的解决方法
  10. 教你正确设置CrossOver的Wine配置(二)
  11. PMP通关必备——知识地图全套(附PMBOK第七版)
  12. linux系统 打开网页,使用Linux终端浏览网页
  13. 自然语言处理的会议、论文集下载
  14. PR曲线(ROC曲线)是如何画出来的?
  15. C++ 类图 Astah画类图
  16. AtCoder Beginner Contest 175 A Rainy Season 字符串+5种情况
  17. Vsan节点报“Power-on Reset”和“Could not open device ‘naa...‘ for probing: Busy”错误处理记录
  18. 【Android效果集】下雨效果
  19. AndroidStudio的Gradle完全教程
  20. 感知系统性能评估分析解决方案

热门文章

  1. 将PDF论文转换成Word格式
  2. Deep6mA:探索不同物种DNA N6甲基腺嘌呤位点相似模式的深度学习框架
  3. 【JavaSE】之网络编程
  4. 通过设定适当的目标来管理员工绩效
  5. 因计算机丢失shw32.dll,midas.dll
  6. 新标日初级上册单词5----8
  7. 计算机软件保护现状,计算机软件保护问题探讨
  8. Centos7部署dzzoffice在线编辑
  9. 在linux中安装python
  10. 鸿蒙OS 2.0应用开发初潮