打包自己的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 目录下,可以看到有一些临时文件生成。


目录
相关文章
|
缓存 API Android开发
Android Kotlin之Flow数据流
`Flow`是`google`官方提供的一套基于`kotlin`协程的响应式编程模型,它与`RxJava`的使用类似,但相比之下`Flow`使用起来更简单,另外`Flow`作用在协程内,可以与协程的生命周期绑定,当协程取消时,`Flow`也会被取消,避免了内存泄漏风险。
1272 1
|
8月前
|
数据挖掘 数据安全/隐私保护 UED
千星计划小店模式开发
千星计划模式是一种创新的电商模式,旨在通过自动化操作和社交裂变效应,帮助用户轻松实现电商梦想并获取高额佣金
|
5月前
|
前端开发 C++
DeepSeek & Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
DeepSeek & Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
544 4
DeepSeek & Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
|
Java Android开发
Android module 打包成aar或jar
Android module 打包成aar或jar
712 0
|
11月前
|
安全 Java
时间格式化新选择:告别SimpleDateFormat的风险
在Java开发中,处理日期和时间是常见需求。`SimpleDateFormat`类作为`java.text`包的一部分,曾广泛用于日期时间的格式化和解析。然而,随着Java 8的发布,`SimpleDateFormat`的一些局限性和风险被暴露出来。本文将探讨`SimpleDateFormat`的潜在问题,并介绍更安全、更高效的替代方案。
233 6
|
前端开发 JavaScript 网络协议
怎么制作一个网站?怎样自己做网站
怎么制作一个网站?怎样自己做网站
|
缓存 JavaScript 前端开发
【性能革命!】Vue 3事件监听缓存的奥秘 —— 揭开前端优化的神秘面纱,让应用性能飙升的秘密武器!
【8月更文挑战第7天】随着前端应用日益复杂,性能优化变得至关重要。Vue 3 通过引入事件监听缓存等新特性提升了应用性能。此特性避免了重复注册相同的事件监听器,减少了资源浪费和潜在的内存泄漏问题。在 Vue 3 中,事件监听器首次渲染时注册,并在后续渲染中重用,除非组件状态变更或手动更新。通过一个示例组件展示了如何利用该特性优化性能,包括使用 `watchEffect` 或 `watch` 在状态变化时重新注册监听器。这一机制降低了浏览器负担,减少了内存占用,提高了应用响应速度,尤其对大型应用效果显著。合理运用事件监听缓存能够构建出更加流畅的应用体验。
628 3
|
负载均衡 Java 开发者
如何在Spring Boot项目中实现微服务架构?
如何在Spring Boot项目中实现微服务架构?
|
Java Kotlin
java调用kotlin代码编译报错“找不到符号”的问题
java调用kotlin代码编译报错“找不到符号”的问题
513 10