Android Studio中使用aar文件:

为什么使用aar?

  • aar中包含了依赖库中的所有内容
  • src下的Java源码
  • res下的资源
  • jni中的底层调用等等

分别存储位置:

  • jar包生成位置:
    • 库/build/intermediates/bundles/debug(release)/classes.jar
  • aar包生成位置
    • 库/build/outputs/aar/libraryname.aar

两者区别:

  • jar包:
    • 只包含了class文件与清单文件,不包含资源文件,如图片等所有的res中的文件。
  • aar包:
    • 包含所有资源,class以及res资源文件等

使用区别:

  • 如果你只是简单地提供一个类库,那么使用生成的*.jar文件即可
  • 如果你提供的是一个带有UI资源的库,包含一些自己写的控件、布局文件、字符串等资源,那么就只能使用*.aar文件了

使用方式:

jar包:

  • Eclipse:直接导入
  • Studio:项目中,找到build.gradle文件,加入:
dependencies{
    compilefileTree(include:['*.jar'],dir:'libs')
}

aar包:

  • 这里只讲述studio使用aar的方式

  • aar的使用其实有两种方式:

  • 网络加载:

    由于网络加载涉及到将整个工程发布到MavenCentral、JCenter等仓库进行托管,因此将会另开文章进行讲述,这里暂不讨论

  • 本地加载:

  • 实例:

  • aar文件名为:“genius.aar”

  • 将aar文件拷贝到module的libs目录中

  • 找到build.gradle文件,修改配置为:

repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name:'test', ext:'aar')
}
  • 随后,rebuild project就可以正常使用了

  • 此时打开你的项目中的:

  • 你会发现下面多出来一个目录:test

  • 打开后能看见里面包含了:classes.jar、res、R.txt等

  • 此时,直接在代码中就能使用aar库中的工程内容。

    /build/intermediates/exploded-aar/


 评论