1. 注册/登录 Bintray
-
Bintray 有个人账号和企业账号之分, 我们使用时一定要注意使用个人账号.
20170503130935913.png
注册地址
-
登录成功进入下面的界面, 创建仓库
01.png
02.png -
创建成功后点击右下角的 Add New Package 创建一个新的包, 也就是我们要上传的项目
03.png
04.png
2. Android Studio 中配置上传脚本
-
新建 Library 项目或者打开已有的 Library 项目
-
在 Project 中的 build.gradle 文件中加入以下代码
注意版本与 Gradle 插件对应
05.pngclasspath 'com.novoda:bintray-release:0.5.0'
-
在 Library Module 中新建 bintray.gradle 文件, 并加入以下代码
apply plugin: 'com.novoda.bintray-release' // 添加 publish{ repoName = 'maven' // 远程仓库名字,不指明,默认是上传到maven userOrg = 'wenjie' // bintray.com 的用户名 groupId = 'tech.jianyue.auth' // jcenter 上的路径, 自定义 artifactId = 'auth' // 项目名称 publishVersion = '1.0.1' // 版本号 desc = '第三方登录|分享|支付的 SDK' // 描述,不重要 website = 'https://github.com/Jieger/AuthSDK' // 项目主页 } tasks.withType(Javadoc) { // 防止编码问题 options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('encoding', 'UTF-8') options.addStringOption('charSet', 'UTF-8') }
-
在 Library Module 中的 build.gradle 文件中引用 bintray.gradle 文件.
apply from: 'bintray.gradle'
3. 上传项目到 Bintray
-
到 Bintray 个人主页点击 Edit
06.png -
选择 API Key, 然后复制那一长串的 key 值
07.png -
回到 AS 打开 Terminal 控制台输入以下代码, 替换为自己的用户名和 key , Mac 下命令前加 ./
./gradlew clean build bintrayUpload -PbintrayUser=*** -PbintrayKey=****** -PdryRun=false
-
稍等当出现 BUILD SUCCESSFUL 就说明上传成功了
4. 提交审核
-
回到我们创建的 Package 下, 然后点击右下角的 Add to JCenter 按钮
-
这时候我们需要在下面填写审核描述(乱填都行不能不填,不填可能会审核失败!)
08.png -
填写完成直接 Send, 一般一天左右就会审核通过, 会发邮件通知
-
然后我们选择 Package 页左下角的 Gradle 选项 ,就会看到我们想要的引用方式
09.png
5. 常见问题
-
400, 在对应的Maven库下没有创建对应的包,或者是你artifactId的值跟你创建的包名字不一样!
HTTP/1.1 400 Bad Request [message:Please enter a valid VCS URL for your OSS package.]
-
401 错误很明显是认证错误,可能是你的用户名或者API key错了
Error:Execution failed for task ‘:viewpagerutilslib-v1:bintrayUpload’.> Could not create package> ‘xxxxx/maven/xxxxxxxxx’: HTTP/1.1 401 Unauthorized
-
404问题, 你在上传 library 到 bintray 之前, 你需要先在bintrary new 一个仓库, type 应该是 maven;
或者是你 repoName 的值跟你创建的仓库名字不一样, 还有可能是你的 userOrg 也没有写对!Error:Execution failed for task ‘:viewpagerutilslib-v1:bintrayUpload’.> Could not create package> ‘xxxxxx/maven/xxxxx’: HTTP/1.1 404 Not Found
其次 userOrg 不一定与登录用户名 -PbintrayUser=***一样! 需要参照下图对应.
11.png -
批处理 macOS 与 windows 的区别
Mac 需要在命令前加 ./
Windows 不需要
更简单的方式, 使用 JitPack
-
如果觉得以上配置比较复杂, 可以在这个网站上传项目, 完全不用在项目中配置.
- 上传项目到 GitHub.
-
- 登录网站, 并填写项目地址, 选择对应版本.
-
3.下面就会出现相应的引用方式.
13.png
参考以下文章进行实践, 后又总结成文, 十分感谢:
http://blog.csdn.net/daydayplayphone/article/details/53503856
http://blog.csdn.net/qq_23179075/article/details/71123452
网友评论