自己搭建android compile引用库,把aar (library)上传到bitbucket的maven仓库(by 星空武哥)

     转载请标注原文地址: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文件,复制下面的文件,粘贴保存。这一步一定要仔细,不然很容易失败,


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

ARTIFACT_PACKAGE=<包名>
ARTIFACT_NAME=<librar名字>
ARTIFACT_VERSION=<版本号>
ARTIFACT_PACKAGING=aar
COMPANY=<账户名/组名>
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/用户名或团队名/仓库名/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




评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值