文档章节

android模块化开发之aar——本地文件引用

veidy
 veidy
发布于 2017/07/05 14:52
字数 578
阅读 1199
收藏 30

如果你知道aar文件是个什么东西,直接切到“如何引用”吧~~~

什么是aar文件:

官方解释:

输入图片说明

输入图片说明

我来总结一下:
aar首先它是一个后缀为.aar的文件,然后这个文件是在android项目里面使用的,它是一个android库文件,然后它比我们之前使用的.jar文件更强大!!!over~

###如何生成: 首先得创建一个库,继续官方文档走起: 输入图片说明
example:
输入图片说明

选择"Android Library"

Next一直到finish一个module就创建好了~

输入图片说明

接下来我在新建的aarlibrary 这个module里面写一个静态方法,然后在app module里面调用

aarlibrary 的module:

输入图片说明

app的module:

输入图片说明

压根找不到这个类,更别提方法了~~~ 因为目前app没有对新建的 aarlibrary 进行依赖

官方文档继续走起!
输入图片说明
但是这都不是这篇文章的重点,这篇文章主要是想分享如何单独引用.aar文件,oh,忘记了我们还没看到.aar文件在哪,说好的如何生成呢!!!不急,先看官网怎么说:

如果希望单独共享 AAR 文件,则可以在 项目名称/模块名称/build/outputs/aar/ 中找到它,也可以通过点击 Build > Make Project 的方式重新生成此文件。

输入图片说明

尼玛,**如何生成 **这么简单 上面绕了一大堆废话~~~

###如何引用:

第一步: 之前怎么导入的.jar文件,现在就怎么导入.aar文件喽!
输入图片说明

第二步:在app的build.gradle里面加入下面配置

repositories {
    flatDir {
        dirs 'libs' //this way we can find the .aar file in libs folder
    }
}

输入图片说明

第三步:在app的build.gradle的dependencies里面加下面配置

compile(name: 'aarlibrary-debug', ext: 'aar')

输入图片说明

三步完成!接下来在app项目里面就可以正常使用aarlibrary里面的资源喽~~~~ 正常调用AarUtils类的方法

demo始终是demo,真正在项目中使用时会发现更多的问题
NO.1:
目前aarlibrary 里面可以写任意代码也可以引用任意资源文件

但是!
但是!
但是!
如果我们的aarlibrary 里面也有依赖另外一个module 如:otherLibrary,在app项目里面却无法调用otherLibrary 里面的内容!!!

怎么办?
看完下篇文章《android 开发之aar——本地仓库发布和引用》之后咱们再看这个问题~

© 著作权归作者所有

共有 人打赏支持
veidy

veidy

粉丝 130
博文 47
码字总数 18684
作品 0
深圳
程序员
从Android到React Native开发(四、打包流程解析和发布为Maven库)

1、从Android到React Native开发(一、入门) 2、从Android到React Native开发(二、通信与模块实现) 3、从Android到React Native开发(三、自定义原生控件支持)  作为失踪人口,本篇是对...

恋猫月亮
06/13
0
0
Android Studio库Module引用aar文件

原文地址:https://blog.csdn.net/qq20872573/article/details/72818758 1. android studio正常的module引用aar文件需要配置如下: [java] view plain copy repositories { flatDir { dirs '......

山水-黄
05/08
0
0
如何制作一个android studio的aar依赖包

首先说明我使用的android studio 版本是0.4.因为现在android studio的bug还不较多,所以你的版本能不能正常使用我就不敢说了。 如果你只是单纯的想使用actionbarsherlock的话,引用是十分简单...

手绘灿烂
2014/01/02
0
0
Gradle 使用技巧(五) - AAR

1. 什么是AAR 关于aar文件,摘取官方的解释:AAR 文件的文件扩展名为 .aar,Maven 工件类型也应当是 aar。文件本身是一个包含以下强制性条目的 zip 文件: /AndroidManifest.xml /classes.ja...

禁言
08/26
0
0
Android studio如何生成aar包

在Android Studio中对一个自己库进行生成操作时将会同时生成.jar与.aar文件。 分别存储位置: *.jar:库 /build/intermediates/bundles/debug(release)/classes.jar *.aar:库 /build/outpu...

飞翔的熊blabla
08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

js 操作cookie

var cookie = {// 设置cookie方法set:function(key, val, time){// 获取当前时间var date = new Date();// 将date设置为n天以后的时间var expiresDays = time;//...

小丶二
20分钟前
1
0
限制root远程登录 su和sudo命令

9月21日任务 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 对于Linux而言,权限的重要性毋庸置疑!对于普通用户而言无法执行那些只有root用户才能有效的命令,导致工作无法有效进行; 系统...

robertt15
22分钟前
2
0
MQTT协议的初浅认识之通讯级别和持久会话

背景 这是我最近了解MQTT协议的最后一部分内容了,MQTT协议里面的QOS和Keep Alive是两个比较重要的内容。QOS的设置,直接影响了订阅客户端与中间件之间的消息交互行为。而Keep Alive直接影响...

亚林瓜子
24分钟前
1
0
calc

width: calc(100% - 30px); 特别注意:减号左右空格,均不能去掉。 width: calc(100% - 30px);

柴高八斗之父
32分钟前
1
0
Spring Cloud Gateway全局过滤器GlobalFilter:返回消息和重定向

Spring Cloud Gateway的全局过滤器GlobalFilter,顾名思义,声明后会对所有的请求生效,可以用来做权限控制,这里简单记录一下拦截到非法请求后如何返回自定义信息和将请求重定向到指定URL。...

夜雨寄北09
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部