有没有想过,自己的类库能像开源项目那样,一句话进行导入,方便他人使用你的类库呢??如下:
本教程教你如何实现。历经整整一个下午,终于搞定了。
详细教程
使用Gradle发布项目到JCenter仓库,此处不再多于讲诉,按着步骤来,便可以实现,但还是遇到一些bug,在这里记录下, 方便后人。
- 在顶层项目加入
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
classpath 'com.github.dcendents:android-maven-plugin:1.2'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
这三条语句最好是不要变。
本来我的默认gradle
为1.1
的,结果配置过程中,报:Cannot call getBootClasspath() before setTargetInfo() is called
上面教程会缺少:classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
这句(教程是在后面才加入),但我失去这句还是会报错,貌似无法进行刷新的错误,具体忘记了
- 配置
library
中的build.gradle
,注意
def siteUrl = 'https://github.com/zhengxiaopeng/BounceProgressBar' // 项目的主页
def gitUrl = 'https://github.com/zhengxiaopeng/BounceProgressBar.git' // Git仓库的url
group = "org.rocko.bpb" // Maven Group ID for the artifact,一般填你唯一的包名
特别是group
,它是唯一标示你的项目地址的,到时候进行compile
会进行用到,这里我的疏忽,第一次的时候,直接用到作者的了,结果变成了引用作者的类库,而自己的却不见了,应该是产生了冲突。
值得注意的这里:
// This is the library version used when deploying the artifact
version = "1.0.0"
必须制定版本号,否则审核成功后,你将会发现unspecified
标示的错误。
获得
bintray
的信息,如账号和key
具体看这里:使用Gradle发布Android开源项目到JCenter-
下一步就是进行
install
和bintrayUpload
了
刚开始,我以为我要使用cmd
的命令行或者git
的命令行进行操作,结果提示我找不到相应的指令。看了教程是提示我要下载gradle
,到时android studio
本身就是使用Gradle
进行编译,为什么还是这种提示呢?而且网上下载的并不是exe
文件,该怎样进行安装呢?最后突发奇想,我便使用android studio
自带的terminal
进行敲入如下的命令,发现会as
自己先下载好对应gradle
的版本,并进行执行相应的命令,突然觉得这真是太好用了。
最后是向管理员提交类库的申请了。这一步管理员进行审核等待,在结果没有出来之前还是可以马上进行加体验的,不过需要以下的配置。(在需要导入类库的地方)
第一步:在顶层的build.gradle
buildscript {
repositories {
maven { url "http://dl.bintray.com/trity93/maven" }
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
}
}
allprojects {
repositories {
maven { url "http://dl.bintray.com/trity93/maven" }
mavenCentral()
jcenter()
}
}
主要是加入(申明去哪里进行拉取类库)
maven { url "http://dl.bintray.com/trity93/maven" }
mavenCentral()
上面maven
格式为:maven {url http://dl.bintray.com/你的用户名/maven}
第二步:在自己的app
的build.gradle
添加
compile 'cc.trity.floatingactionbutton:library:+'
这里的library统一使用+
,或者使用你对应的版本号;
参考资料
Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
Android Studio发布项目到Jcenter