[饼干]如何获取官方的aar包

声明:博文未经授权一律不允转载

问题

  1. 怎么获取开源项目的aar包。
  2. support library的aar包又怎么获取呢。

背景

首先我们来看看这个问题是如何产生的,因为公司需要配置Jenkins离线打包,具体的操作我也写了一篇博文来描述踩坑过程,《Ubuntu下结合Github搭建Jenkins自动打Android包》,显然,点进去之后你会发现被我坑了,因为我还时间没写完。

公司需要配置Jenkins离线打包,服务器为了避免编译的时候下载很多的未知的资源,以及缩短编译时间,因此如果安卓的项目中如果在build.gradle中使用compile、api或者implementation引用开源项目的话,比如:

compile 'com.android.support:appcompat-v7:26.1.0'

如果服务器的sdk中没有下载有这个26版本的库,那么就很可能会导致离线编译不通过,因为专门用于编译工作的服务器有时候是没有必要连接外网的,没有外网就意味着不能够下载相关的引用的资源或者代码,因此我们通常会需要引用的开源项目的aar包,来支持离线编译。
然而通过compile、api或者implementation引用开源项目,我们在本地很可能会找不到aar,哪怕在build里面也找不到。
这个时候开头说的两个需求就来了。我们当然可以通过下载开源项目的源代码然后手动打aar包[谷歌一下]的方式来得到,当然我们也可以通过官方的下载渠道得到。接下来就介绍一下如何获取官方的aar包。

获取官方的aar包

获取开源项目的aar包

四个步骤,简单到怀疑人生

  1. 打开链接
    https://search.maven.org/#search
  2. 搜索开源项目名字
    • a. 比如搜索okhttp
  3. 下载

    • a.这里需要说的一点就是,由于有些开源项目比如说squareup的okhttp,只是一个类库,也就是全部都是class文件,因此是不需要打包成aar包的,只需要一个jar包即可。
    • b.点击对应开源项目的“jar”或者“aar”即可下载到对应版本的,如下图
    • c.一般这个的版本都是最新发布的版本,如果不是想要的版本的时候,可以点击下图中的“all”,就能够得到所有的已发布的版本,这时候点击对应aar或者jar下载需要的包即可。

      获取support library的aar包

    • 比如需要找到appcompat-v7的25.3.1版本,去SDK下相应的文件夹下就能够找到了
      • [SDK_DIR]\extras\android\m2repository\com\android\support\appcompat-v7\25.3.1
    • 如果不知道有什么版本怎么办,别怕,谷歌出品必属精品,肯定有迹可循的嘛
  4. 引用


//引用aar包配置
dependencies {
    //compile(name: 'xxx', ext: 'aar')
    compile(name:'mylib-release', ext:'aar')
}
repositories{
    flatDir{
        dirs 'libs'
    }
}

拓展

如果想要更加深入拓展研究透彻,推荐可以从这些个方向去深入:

  1. 如何打aar包。
  2. build.gradle中compile、api或者implementation回来依赖库在本地是以怎么样的形式存在的。
    • 是一堆的资源文件和*.class文件还是什么?
    • 存在什么目录中?build文件夹中?
    • 难道不是compile引用一个库不是下载其aar包到本地么?
文章作者: Halohoop
文章链接: http://halohoop.com/2017/10/05/cookies_how_to_get_aar/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 卖牙膏的芖口钉