(转载)http://www.jianshu.com/p/4a37c0db3edd
写了一个自定义的控件,打包library托管到了github,这样别人就可以下载你的library使用。但如何将其上传到jcenter服务器,然后就可以在模块的build.gradle中添加一行代码dependencies {compile ...},使别人用起来更加便捷呢?今天特意摸索了一下,将经验总结如下:
1. 用Androd Studio新建一个library、
- AS1.5版本为例:File-New-New Moudle- Android Library
- 完成你的代码,即生成了一个本地的libraray。
2. 在bintray上创建package
- 在 https://bintray.com/ 上注册账号,记住你的用户名
- 完成之后,点击maven进入新建package步骤
Paste_Image.png - 点击Add New Package
Paste_Image.png - 进入新建步骤:Name是给library取一个名字(小写);Description是描述,随便写一下功能;Licenses建议选Apache-2.0;Website和Version control 都写github的项目地址即可。
3. 加工你的library项目
-
首先在你的主项目中的build.gradle
添加以下的构建脚本依赖:buildscript { repositories { jcenter() } dependencies { classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2' classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1" } }
-
在library这个module的目录下面打开(或新建)gradle.properties文件, 编写:
PROJ_GROUP=com.clj PROJ_VERSION=1.0.0 PROJ_NAME=memoryspinner PROJ_WEBSITEURL=https://github.com/Jasonchenlijian/MemorySpinner PROJ_ISSUETRACKERURL=PROJ_VCSURL=git@github.com/Jasonchenlijian/MemorySpinner.git PROJ_DESCRIPTION=a spinner can memory history select item PROJ_ARTIFACTID=memory_spinner DEVELOPER_ID= DEVELOPER_NAME= DEVELOPER_EMAIL=
-
上面的内容就会组成
dependencies { compile 'com.clj:memory_spinner:1.0.0' }
-
然后在library这个module的 build.gradle的底部添加以下代码:
apply from: 'https://raw.githubusercontent.com/msdx/gradle-publish/master/bintray.gradle'
-在c:\Users\用户名.gradle目录下面打开(或新建)gradle.properties文件,编写用户名和用户key:
BINTRAY_USER=
BINTRAY_KEY=
-
执行上传命令
- 检查代码正确性
gradlew install - 上传编译的文件到bintray
gradlew bintrayUpload
- 检查代码正确性
-
如果成功,在jCenter上就可以看到自己的项目:
![](https://i-blog.csdnimg.cn/blog_migrate/8e6903aa0ea5c27c6b3d7c0ff42a1ea8.webp?x-image-process=image/format,png)
Paste_Image.png
4. 上传你的library项目
- 切换到Android Studio的Terminal, 键入以下两个命令行
- gradlew install : 检查代码的正确性
- gradlew bintrayUpload: 上传代码
在jCenter上公开你的项目
*打开https://bintray.com/bintray/jcenter , 搜索你的项目