美文网首页
Android 上传项目到 jcenter

Android 上传项目到 jcenter

作者: Enowr | 来源:发表于2018-02-01 14:13 被阅读84次

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 插件对应

    classpath 'com.novoda:bintray-release:0.5.0'
    
    05.png
  • 在 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

  • 地址

  • 如果觉得以上配置比较复杂, 可以在这个网站上传项目, 完全不用在项目中配置.

    1. 上传项目到 GitHub.
    1. 登录网站, 并填写项目地址, 选择对应版本.
    12.png
  • 3.下面就会出现相应的引用方式.

    13.png

参考以下文章进行实践, 后又总结成文, 十分感谢:

http://blog.csdn.net/daydayplayphone/article/details/53503856
http://blog.csdn.net/qq_23179075/article/details/71123452

相关文章

网友评论

      本文标题:Android 上传项目到 jcenter

      本文链接:https://www.haomeiwen.com/subject/qbarzxtx.html