Android studio 打包aar库

定义

Android 库在结构上与 Android 应用模块相同。它可以提供构建应用所需的一切内容,包括源代码、资源文件和 Android 清单。

库模块在以下情况下非常有用:

  • 构建使用某些相同组件(例如 Activity、服务或 UI 布局)的多个应用。
  • 构建存在多个 APK 变体(例如免费版本和付费版本)的应用并且需要在两种版本中使用相同的核心组件。

将应用模块转为库模块

  1. apply plugin: 'com.android.application' -> apply plugin: 'com.android.library'
  2. 将app.gradle文件中有关application的字段全部除去
  3. 点击 Sync Project with Gradle Files

本地添加aar库

  1. 添加已编译的 AAR(或 JAR)文件:
    点击 File > New Module
    依次点击 Import .JAR/.AAR Package 和 Next
    输入 AAR 或 JAR 文件的位置,然后点击 Finish
  2. 确保库列在您 settings.gradle 文件的顶部有include ':app', ':my-library-module'
  3. 打开应用模块的 build.gradle 文件,并向 dependencies 块中添加一行新代码dependencies { compile project(":my-library-module") }
  4. 点击 Sync Project with Gradle Files

注意点

  1. aar文件中并没有包含原项目的依赖,在本项目中请手动添加依赖
  2. 原项目如果开启了databinding,请在本项目中手动开启
  3. 应用模块的 minSdkVersion 必须大于或等于库定义的版本
  4. 库项目的清单文件中的application标签属性最好清空,否则会有资源合并冲突;或者参考官网解决办法
  5. 如果库项目中的资源文件名和主项目的资源文件名重复了,默认使用主项目的资源文件,所以最好统一好aar工程内的资源文件名,使其唯一
  6. 如果不想在主项目中手动添加依赖,可以在用远程依赖的方式,把aar库上传到jcenter()或者marven()上,然后就像我们平时添加第三方库一样添加我们的aar库,当 Gradle 依赖 Maven 上的这个库时,会通过 pom 文件下载对应依赖
  7. aar库中的switch语句全部换成ifelse语句
  8. aar库是debug版本还是release版本对主项目的引用没有影响,但是在iOS中要保持版本一致
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容