当前位置: 首页 > news >正文

Android Studio打包AAR

注意

依赖的Android Studio版本为4.2.2

更高的Android Studio版本使用方法可能有所不同,gradle的版本和gradle plugins的版本都会影响使用方式。

基于此,本文只能作为参考,而不能作为唯一答案,如果要完全依赖本文,则Android Studio版本也需要安装成4.2.2.

关于AAR

Android AAR文件是Android Archive文件的缩写,是一种Android应用程序存档文件格式,类似于JAR文件格式。AAR文件包含已编译的代码和资源文件,可以被其他Android应用程序引用和使用。AAR文件可以包含多个类库和资源文件,可以在项目中使用Gradle依赖关系来引用和使用。它在Android Studio中被广泛使用,可以通过Gradle构建系统在Android项目中使用。AAR文件通常用于在Android应用程序中共享代码和资源,提高代码复用性和构建效率。

如何编译生成AAR

要打包Android Archive(AAR)文件,可以按照以下步骤操作:

1. 在Android Studio中,打开要打包为AAR的项目。

如果没有目标项目,可以新建一个空白工程。

2. 选择“File”(文件)菜单,然后选择“New Module”(新建模块)。

或者在根目录(需要切换成project模式)

右键也可以直接新建模块 Module

3. 在“Create New Module”(创建新模块)对话框中,选择“Android Library”(Android库)。

4. 输入模块的名称和其他选项,然后单击“Finish”(完成)。

5. 编辑库项目的代码和资源文件。

创建成功的模块中,可以在build.gradle查看插件是否引用为com.android.library

6. 选择“Build”(构建)菜单,然后选择“Make Module 'library_name'”(生成模块“library_name”)。

此外,也可以直接在gradle构建的工具中进行打包

在android studio中,右侧边栏中gradle工具中,找到目标module,在Tasks中找到other

可以选择自己想要的打包模式(debug和release)

7. 在项目的“build/outputs/aar/”目录下找到生成的AAR文件,以便与其他应用程序或库共享。

这样,您的Android库就可以以AAR文件的形式打包并与其他应用程序或库一起使用了。

8.AAR 文件详解

AAR 文件的文件扩展名为 .aar,Maven 工件类型也是 aar。此文件本身是一个 ZIP 文件。唯一的必需条目是 /AndroidManifest.xml

AAR 文件还可包含以下一个或多个可选条目:

  • /classes.jar
  • /res/
  • /R.txt
  • /public.txt
  • /assets/
  • /libs/name.jar
  • /jni/abi_name/name.so(其中 abi_name 是 Android 支持的 ABI 之一)
  • /proguard.txt
  • /lint.jar
  • /api.jar
  • /prefab/(用于导出原生库)

AAR和JAR的区别

AAR和JAR都是Java的打包格式,但在Android开发中,它们有一些区别:

1. AAR(Android Archive)是一种Android专用的打包格式,它包含了Android库项目的所有资源,例如布局、图片、XML文件等。而JAR(Java Archive)是一种标准的Java打包格式,它只包含Java类文件和一些静态资源文件,例如图标、配置文件等。

2. AAR文件可以包含多个JAR文件,以及单独的资源文件,而JAR文件只能包含Java类文件和静态资源文件。

3. 在Android Studio中,使用AAR格式的库项目可以自动导入库项目的所有资源,从而简化了项目开发和维护的工作量。

4. 另外,AAR格式的库项目还可以指定依赖项,也就是说,如果一个AAR库项目依赖于另一个AAR库项目,那么在使用该库项目时,它所依赖的库项目也会自动被导入。

因此,AAR格式的库项目比JAR格式的库项目更适合Android开发。

如何引用AAR

在Android Studio中,可以通过以下步骤引用aar文件:

1. 将aar文件放置在项目的libs文件夹中。

2. 在项目的build.gradle文件中添加以下代码:

repositories {flatDir {dirs 'libs'}
}dependencies {implementation(name:'XXXXXX_1.1.0', ext:'aar')
}

3. 在项目的Gradle sync后,就可以使用这个库中的类、方法等了。

如果你使用的是Android插件3.0或更高版本,则需要将 implementation 改为 api。

api files('libs/XXXXXXX_1.2.0_release.aar')

关于implementation和api,简单理解就是类里面 public和private的区别

implementation表示该引用只对当前module生效,其他模块即使依赖了该module,也无法使用implementation引用的其他依赖。是module私有依赖的关键字。

api表示公开引用,一般用于基础模块和公共模块,一次引用之后,其他模块引用该模块,则无需再引用其他依赖。

http://www.lryc.cn/news/216896.html

相关文章:

  • 【Python基础知识四】控制语句
  • Jmeter压测 —— 1秒发送1次请求
  • 目标检测YOLO实战应用案例100讲-基于改进YOLOv4算法的自动驾驶场景 目标检测
  • Spring Cloud智慧工地源码,利用计算机技术、互联网、物联网、云计算、大数据等新一代信息技术开发,微服务架构
  • AI视频 | Runway的史诗级更新真的那么震撼吗?来看我的试用体验!
  • 【动作模式识别】实现复合动作模式识别(离线控制模块)
  • Python基础学习009——类的封装
  • 前端开发和后端开发,你更倾向于哪一种?
  • Selenium 基本功能
  • 智能井盖传感器有哪些?万宾科技智能井盖效果
  • 视频增强和修复工具 Topaz Video AI mac中文版功能
  • 0基础学习PyFlink——使用datagen生成流式数据
  • vue使用Web Speech API实现语音播报
  • MVC5_Day1(Razor视图引擎)
  • 超全整理,Jmeter性能测试-脚本error报错排查/分布式压测(详全)
  • vscode开启emmet语法
  • 07、vue : 无法加载文件 C:\Users\JH\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。
  • 利用移动互联、物联网、智能算法、地理信息系统、大数据分析等信息技术开发的智慧工地云平台源码
  • 海康多相机同步取流保存图片
  • win10 + vs2017 + cmake3.17编译OSG-3.4.1
  • Excel VBA开发基本语句说明
  • 应用在智能空调中的数字温度传感芯片
  • Qt界面美化之Qt Style Sheets
  • prometheus监控告警部署(k8s内部)
  • 数字孪生特高压电网三维可视化平台实现能源智能管理
  • 12.JavaScript(WebAPI) - JS api文献精解
  • 亚马逊云科技:让生成式AI真正走向普惠
  • Java web(四):JSP
  • HarmonyOS(二)—— 初识ArkTS开发语言(中)之ArkTS的由来和演进
  • 电子产品上架Temu平台需要做什么认证?UL测试报告