打包自己的aar库

简介: 在比较大的 Android 项目的开发中,我们经常会遇到工程、jar 包等等之间相互引用的方式。一般我们通过在 gradle 文件中配置依赖来解决,但是如果通过include的方式来引入第三方库的时候,第一次编译会特别慢,所以Android在V7版本之后为我们添加了一种添加aar的方案,其实说白了就是jar的另一种形式,至于怎么写自己的jar(其实百度,google一大堆,实践下就好了),请点

在比较大的 Android 项目的开发中,我们经常会遇到工程、jar 包等等之间相互引用的方式。一般我们通过在 gradle 文件中配置依赖来解决,但是如果通过include的方式来引入第三方库的时候,第一次编译会特别慢,所以Android在V7版本之后为我们添加了一种添加aar的方案,其实说白了就是jar的另一种形式,至于怎么写自己的jar(其实百度,google一大堆,实践下就好了),请点击封装自己的jar文件

今天说说怎么打aar包,以及在项目中引用。

1,新建一个project,在project中新建一个module,选择Android jar,然后下一步即可。然后运行,会在你工程目录***\build\outputs\aar看到你的aar。



2,引用aar:将aar放在你所需要引用工程的libs文件夹中

第一种方式比较简单,打开 Project Structure,添加一个新 Module,然后选择 Import *.JAR or *.AAR Package 的方式导入(也可以使用快捷键ctrl+shift+alt+s):



接着可以在 gradle 中配置依赖了,其他 Module 可以引用这个 Module 了,依赖方式使用 compile project 的方式即可。

但是这种方式有一个缺点,被依赖的 aar 无法 看到资源文件内容以及目录层级等。

第二种方式导入(build.gradle方式)

题外话(gradle引入第三方文件脚步配置):

  • compile fileTree(dir: 'xxx', include: ['*.jar', "*.xxx"]):将某个目录下所有符合扩展名的文件作为依赖;
  • compile 'com.xx.xx:ProjectName:Version':配置Maven` 库作为依赖;在 Maven 库中心 可以搜索自己想用的库进行依赖;
  • compile project(':AnotherModule'):配置另一个 Module 作为本 Module 的依赖,被依赖的 Module 必须被导入到当前工程中;
  • compile files('xxx.jar'):配置某个 jar 包作为依赖。

gradle 其实还有另一种依赖可以引用 aar:

  • compile(name: 'xxx', ext: 'aar')
然后在 gradle 配置文件中把 libs 目录加入依赖。

接着在 gradle 的依赖配置中加入 compile(name: 'xxx', ext: 'aar') 这一句,依赖即可关联完毕。构建一下工程,在 Module 的build/intermediates/exploded-aar 目录下,可以看到有一些临时文件生成。


目录
相关文章
|
缓存 Android开发
Android Studio中如何清理gradle缓存
Android Studio中如何清理gradle缓存
|
数据挖掘 数据安全/隐私保护 UED
千星计划小店模式开发
千星计划模式是一种创新的电商模式,旨在通过自动化操作和社交裂变效应,帮助用户轻松实现电商梦想并获取高额佣金
|
9月前
|
前端开发 C++
DeepSeek & Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
DeepSeek & Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
1103 4
DeepSeek & Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
|
缓存 JavaScript 前端开发
【性能革命!】Vue 3事件监听缓存的奥秘 —— 揭开前端优化的神秘面纱,让应用性能飙升的秘密武器!
【8月更文挑战第7天】随着前端应用日益复杂,性能优化变得至关重要。Vue 3 通过引入事件监听缓存等新特性提升了应用性能。此特性避免了重复注册相同的事件监听器,减少了资源浪费和潜在的内存泄漏问题。在 Vue 3 中,事件监听器首次渲染时注册,并在后续渲染中重用,除非组件状态变更或手动更新。通过一个示例组件展示了如何利用该特性优化性能,包括使用 `watchEffect` 或 `watch` 在状态变化时重新注册监听器。这一机制降低了浏览器负担,减少了内存占用,提高了应用响应速度,尤其对大型应用效果显著。合理运用事件监听缓存能够构建出更加流畅的应用体验。
781 3
|
Java Maven 开发工具
记录一次Maven无法打包的排查过程
【5月更文挑战第3天】记录一次WhatTheFuck经历
950 2
记录一次Maven无法打包的排查过程
|
负载均衡 Java 开发者
如何在Spring Boot项目中实现微服务架构?
如何在Spring Boot项目中实现微服务架构?
1149 1
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析
|
XML 搜索推荐 开发工具
全面指南:技术写作与编辑工具 Markdown、Git 研究工具
在技术写作领域,“工具”是指技术写作者用于创建、管理和发布高质量技术文档的各种软件和应用程序。这包括文字处理器、桌面出版应用程序、XML 编辑器、内容管理系统等等。一些技术写作者常用的工具示例包括 Microsoft Word、WPS、Typora、Notion、印象笔记、GitHub、飞书云文档 和 VSCode 等。这些工具通过允许文档版本控制、启用协作、提供用于一致格式设置的模板、提供管理大量内容的功能,甚至提供将文档翻译成多种语言的功能,从而提高了生产力。工具的选择取决于技术写作者或其工作的组织的具体需求和工作流程。
1011 4
|
机器学习/深度学习 算法 自动驾驶
[Paddle Detection]基于PP-PicoDet行车检测(完成安卓端部署)
基于PP-PicoDet行车检测(完成安卓端部署)_哔哩哔哩_bilibili基于视觉深度学习的自动驾驶场景,旨在对车载摄像头采集的视频数据进行道路场景解析(行车检测),为自动驾驶提供一种解决思路。该项目使用bdd100k_car数据集训练,并完成了安卓部署。现如今,汽车在日益普及人们的生活,再给人们带来极大便利的同时也造成了拥堵的交通更为频发的交通事故。通过行车检测不仅能够更好的帮助司机检查路况,并且还能够更好的规化当前的路程管理,减轻道路的拥堵情况。 在车辆驾驶中主要考验的是司机如何应对其他行驶车辆的可
[Paddle Detection]基于PP-PicoDet行车检测(完成安卓端部署)
|
安全 Java API
EMAS热修复Sophix适配App加固的技术方案
本文将介绍阿里云EMAS热修复Sophix适配App加固技术方案。
755 0