码迷,mamicode.com
首页 > Web开发 > 详细

创建bitbucket的私有maven仓库,把aar (library)上传到bitbucket的maven仓库(by 星空武哥)

时间:2016-07-30 00:33:16      阅读:769      评论:0      收藏:0      [点我收藏+]

标签:

创建bitbucket的私有maven仓库,把aar (library)上传到bitbucket的maven仓库

     转载请标注原文地址:http://blog.csdn.net/lsyz0021/article/details/52065404


      当我们使用android studio的开发的时候,我们可以很方面的使用compile " "命令很方便的使用别人的第三方aar库

比如我们引用okhttp的时候就可以在gradle中:

dependencies {
    compile 'com.squareup.okhttp3:okhttp:3.3.1'
}

感觉好高大上,今天我们就来实现自己的library在gradle用compile引用,就以bitbucket的仓库为例,当然github也可以,这里就不讲了,看完这篇文章可以试试github。


1、首先我们创建一个project,里面包含一个toolslibrary的库和一个app的module,让app依赖toolslibrary


技术分享


app依赖ToolsLibrary

技术分享



 我们在toolslibrary里写了一个Toast的工具类来测试效果,然后在app里调用它


技术分享


2、如果你的本地没有ssh key需要先配置,不然会失败,配置的方式请参考这篇博客:

Windows 7下Git SSH 创建Key的步骤:http://blog.csdn.net/lsyz0021/article/details/52064829


3、创建bitbucket的maven仓库,我们这一步骤的目的:

(1)创建一个maven仓库,

(2)主分支为release

(3)上传一个“README.md”的说明文件到该仓库

 

   你不一定非要使用下面的步骤,你可以用自己的方式,但是你必须满足上面的这三个条件,否则会失败。


    3.1 、我们在bitbucket中创建一个bitbucket_maven仓库

技术分享


 3.2 、clone到本地,提示是一个空仓库

技术分享

 3.3 、进入bitbucket_maven这文件夹

cd bitbucket_maven


 3.4、新建一个md文件,内容随便写,命名为“README.md”,必须是这个名字否则会失败。复制到bitbucket_maven文件夹下

 然后git添加README.md文件 

git add README.md

 

3.5、 commit ,这一步比较麻烦,如果你使用过linux下的vi或vim会很感觉简单

git commit
 

输入完命令后可能进入了一个你不会操作的界面,但不要着急,仔细看下面这段话。

     1、首先你按下 回车键 或者 “i” 就进入了编辑状态,

     2、然后用键盘方向键将光标移到最下面,随便输入字母,我这里输入 init ,

     3、此时按下 “Esc” 键,然后再按住 “shift”+“冒号”键(L键右边),你会发现在左下方有个“:”,

     4、然后再输入 “w”、“q” 两个字母,表示保存退出的意思。


技术分享


不会那就仔细看截图

技术分享


 3.6 、新建一个release分支

git branch releases

 3.7、push到仓库

git push origin releases

技术分享


 3.8 、进入bitbucket可以看到我们上传的README.md文件

技术分享


 3.9 、如果你是其他方式完成的此步骤,你必须保证主分支是release,这里我们可以查看设置一下


技术分享


4、实现功能

    我们使用了GItAsMaven这个工具https://github.com/lsyz0021/GitAsMaven

    可以在你的toolslibrary中的build.gradle中添加下面的命令来引用,也可以直接将文件复制到toolslibrary根目录下再引用它,这里我选用的后者。

apply from: https://raw.githubusercontent.com/JeroenMols/GitAsMaven/master/publish-bitbucket.gradle

4.1、直接clone下来将publish-bitbucket.gradle文件复制到了toolslibrary根目录,在build.gradle引用他

apply from: ‘publish-bitbucket.gradle‘

技术分享


 4.2、在toolslibrary的根目录创建gradle.properties文件,复制下面的文件,粘贴保存。这一步一定要仔细,不然很容易失败,

注意:等号后面不能有空格

<pre name="code" class="java">ARTIFACT_PACKAGE=<包名>
ARTIFACT_NAME=<librar名字>
ARTIFACT_VERSION=<版本号>ARTIFACT_PACKAGING=aarCOMPANY=<账户名/组名>REPOSITORY_NAME=<仓库名>


 我的配置

技术分享

 4.3 、复制下面的配置到你的project的gradle.properties文件内

USERNAME=<bitbucket账号>
PASSWORD=<bitbucket密码>

技术分享


 5 、最后一步,执行运行命令

    在terminal中输入下面的命令然后回车就开始执行(在第一次执行命令前,一定要先RebuildProject一次

gradlew uploadArchives

 很幸运一次就成功了


技术分享



6 、问题总结

 6.1 、看结果,虽然提示401 但是还是没问题,提示的错误是因为不支持中文的javadoc,后面我会给出解决方法


技术分享


 解决“编码GBK的不可映射字符”的错误,我们在publish-bitbucket.gradle修改如下


技术分享


 然后重新执行命令(注意:这里要再次执行必须修改版本号(ARTIFACT_VERSION=1.0.1),不然会失败)

gradlew uploadArchives
  

   可以看到1.0.1的版本上传成功了,也没有报 “编码GBK的不可映射字符的错误”


技术分享

 

  bitbucket仓库的文件

技术分享


 6.2 、如果在上传你的library时还是失败,可以试试此方法。


技术分享


7、测试引用的结果

     这里我又新建了一个project,然后配置三个地方就可以了


  7.1、设置账户和密码

   技术分享

 

 7.2、设置依赖地址,在你新建的project的build.gradle中配置

             maven {
                     url "https://api.bitbucket.org/1.0/repositories/<code class="objectivec"><span class="hljs-string"></span></code>用户名或团队名/仓库名/raw/releases"            
                     credentials {
                             username USERNAME
                             password PASSWORD
                     }
             }

技术分享

 

7.3、引用依赖,最关键的一部了

引用格式

compile 'ARTIFACT_PACKAGE:ARTIFACT_NAME:ARTIFACT_VERSION' //这是引用的格式
compile '包名:library名:版本号' 

技术分享


7.4、调用ToastUtils这个类

 可以看到可以调用了,说明成功了

技术分享


参考文章:http://www.jianshu.com/p/72996bc89b7c#

参考文章:http://jeroenmols.com/blog/2016/02/05/wagongit/?utm_source=tuicool&utm_medium=referral

创建bitbucket的私有maven仓库,把aar (library)上传到bitbucket的maven仓库(by 星空武哥)

标签:

原文地址:http://blog.csdn.net/lsyz0021/article/details/52065404

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!