我们在AS中要使用别人开源库基本都是用下面的方式:
compile 'org.greenrobot:eventbus:3.0.0'
这样使用我们不用单独去下载别人的源文件、jar包之内的,我想说的是这真特么太方便了!
如果想把自己写的开源项目放在上面怎么弄? 下面是教程和我当时踩过的一些天坑
1.注册/登录Bintray
· 一定要点击下图标记的地方,或者直接打开下面的网址,不然上传不起项目(博主之前就坑这里了555!)
· 如果你不想单独注册也可直接选择用GitHub登录/谷歌邮箱登录
· 我这里选择的从谷歌邮箱登录(如果直接注册用国内的QQ或者163邮箱可能不能识别邮箱大家都知道我大中华的国情)
· 登录成功进入下面的界面(如下图↓↓↓):
· 点击上图的 Add New Repostitory
(看上图↑↑↑) 创建自己的maven仓库如下(如下图↓↓↓):
· 创建成功后就可以看到我们刚刚创建的仓库(如下图↓↓↓)
· 创建成功后点击右下角的 Add New Package
(看上图↑↑↑) 创建一个新的包,也就是我要上传的项目(如下图↓↓↓)
2.在Androidstudio中配置bintray-release用于上传到远程仓库
· 新建Library项目或者打开已有的项目(如下图↓↓↓)
这里写图片描述
· 在Project中的:build.gradle加入以下代码:
classpath 'com.novoda:bintray-release:0.3.4'
![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-605bf9a49dad9fca?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>#### · 在Library中的:build.gradle加入以下代码:
>```
android {
...
}
dependencies {
...
}
/** 以下开始是将Android Library上传到jcenter的相关配置**/
apply plugin: 'com.novoda.bintray-release'//添加
//项目主页
def siteUrl = 'http://git.oschina.net/zhengliang_blog/shadow-view'
publish{
repoName = 'MyMaven'//远程仓库名字,不指明,默认是上传到maven
userOrg = 'zhengliang1995'//bintray.com的用户名
groupId = 'com.zhengliang'//jcenter上的路径
artifactId = 'shadow-view'//项目名称
publishVersion = '1.0.0'//版本号
desc = '一个控件阴影效果,支持阴影大小和颜色设置,可以设置控件上下的阴影'//描述,不重要
website = siteUrl//项目主页
}
tasks.withType(Javadoc) {//防止编码问题
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
options.addStringOption('charSet', 'UTF-8')
}
>```
>#### · 注意下面的名字一定要对应(如下图↓↓↓)
>#### · 注意下面的名字一定要对应(如下图↓↓↓)
>#### · 注意下面的名字一定要对应(如下图↓↓↓)
![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-240bb238138c7289?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###3.开始上传
>#### · 回到JFrog Bintray个人主页点击 `Edit` (如下图↓↓↓)
>![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-611180ba634238b9?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>#### · 选择 `API Key` 然后复制那一长串的key值(如下图↓↓↓)
>![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-0531517414c1ff5e?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>#### · 回到AS打开Terminal控制台输入以下代码:
>```
>gradlew clean build bintrayUpload -PbintrayUser=zhengliang1995 -PbintrayKey=xxxxxxxxxxxx -PdryRun=false
>```
>![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-8e8b38f250888097?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>#### ·用你自己的用户名和API Key 替换一下就行了然后回车稍等当出现下面界面:(如下图↓↓↓) 就说明上传成功了!
>![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-c4c84a4f801694f7?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
### 4.提交审核
>#### ·回到网页打开MyMaven下我们创建的shadow-view:(如下图↓↓↓) ; 然后点击右下角的 `Add to JCente` 按钮
>![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-635bcd927684b8a1?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>#### ·这时候我们需要在下面填写审核描述(乱填都行不能不填,不填可能会审核失败!)(如下图↓↓↓)
>![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-6b905591450df29e?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>#### ·填写完成直接Send,一般一天之后就会审核通过,通过后项目的右下角的 `Add to JCenter` 按钮就会消失!
>#### ·然后我们选择左下角的` Gradle`选项 ,就会看到我们想要的东西..(如下图↓↓↓)
>![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-52428d7b2ec55f4a?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>#### ·大工告成,我们现在就可以复制上面的地址到我们的Androidstudio项目中`build.gradle`通过`compile`的方式使用我们自己写的库了,哈哈,是不是很爽哈!
###5.上传常见错误
>#### ·下面我们来看看上传过程中的常见错误(如果你成功了可以不用看下面):
>>####(1).HTTP/1.1 404 Not Found [message:Repo 'MyMaven' was not found]
>>![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-74e036a15a9ed98c?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>>####<B>找不到Maven库,可能是你没有创建,或者是你`repoName`的值跟你创建的仓库名字不一样,还有可能是你的`userOrg`也没有写对!
***
>>####(2).HTTP/1.1 400 Bad Request [message:Please enter a valid VCS URL for your OSS package.]
>>![这里写图片描述](http://upload-images.jianshu.io/upload_images/2909848-a9e15bcece0645e6?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>>####<B>找不到包,在对应的Maven库下没有创建对应的包,或者是你`artifactId`的值跟你创建的包名字不一样!