写了一个自定义的控件,打包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步骤
-
点击Add New Package
- 进入新建步骤: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上就可以看到自己的项目:
4. 上传你的library项目
- 切换到Android Studio的Terminal, 键入以下两个命令行
- gradlew install : 检查代码的正确性
- gradlew bintrayUpload: 上传代码
在jCenter上公开你的项目
***打开https://bintray.com/bintray/jcenter , 搜索你的项目
- 提交审核