文档章节

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

veidy
 veidy
发布于 2017/07/05 14:52
字数 578
阅读 935
收藏 30
点赞 0
评论 0

如果你知道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
博文 46
码字总数 18176
作品 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
AS中jar包和aar包区别及导入导出

jar包和aar包区别 *.jar:只包含class文件与清单文件,不包含资源文件,如图片等所有res中的文件。 *.aar:包含所有资源,class以及res资源文件全部包含 如果你只是一个简单的类库那么使用生...

蜗牛崛起
2017/10/26
0
0
如何制作一个android studio的aar依赖包

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

手绘灿烂
2014/01/02
0
0
【我的Android进阶之旅】Android自定义Lint实践

一、Lint介绍 android lint是一个静态代码分析工具,通过lint工具,你可以不用边运行边调试,或者通过单元测试进行代码检查,可以检测代码中不规范、不和要求的问题,解决一些潜在的bug。lin...

qq446282412
05/19
0
0
Android studio gradle配置

Gradle 基本概念 首先我们学习几个gradle 的脚本语法,掌握了这几个语法,你就能非常简单的用gradle构建打包android项目了。 首先,我们来看下一个最简单android 。 build.gradle //设置脚本...

习惯_搬砖
2014/11/07
0
1
[Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法

主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法。 在Android Studio中对一个自己库进行生成操作时将会同时生成.jar与.aar文件。 分别存储位置: *.jar:库/build/interm...

Qiujuer
2014/10/03
0
0
移动开发:美团外卖Android Lint代码检查实践

概述 Lint是Google提供的Android静态代码检查工具,可以扫描并发现代码中潜在的问题,提醒开发人员及早修正,提高代码质量。除了Android原生提供的几百个Lint规则,还可以开发自定义Lint规则...

meituantech
04/13
0
0
Android JNI学习(二)——实战JNI之“hello world”

本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Native相互调用 Android JNI学习(四)——JNI的常用方法...

隔壁老李头
05/09
0
0
Android插件化开发之动态加载技术学习

Android插件化开发之动态加载技术学习 为什么要插件化开发和动态加载呢?我认为原因有三点: 可以实现解耦 可以解除单个dex函数不能超过65535的限制 可以给apk瘦身,比如说360安全卫士,整个...

幸运券发放
05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

机器学习管理平台 MLFlow

最近工作很忙,博客一直都没有更新。抽时间给大家介绍一下Databrick开源的机器学习管理平台-MLFlow。 谈起Databrick,相信即使是不熟悉机器学习和大数据的工程湿们也都有所了解,它由Spark的...

naughty
今天
0
0
idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
1
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0
expect同步文件&expect指定host和要同步的文件&构建文件分发系统&批量远程执行命令

20.31 expect脚本同步文件 expect通过与rsync结合,可以在一台机器上把文件自动同步到多台机器上 编写脚本 [root@linux-5 ~]# cd /usr/local/sbin[root@linux-5 sbin]# vim 4.expect#!/...

影夜Linux
今天
1
0
SpringBoot | 第九章:Mybatis-plus的集成和使用

前言 本章节开始介绍数据访问方面的相关知识点。对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的。目前,绝大部分公司都选择MyBatis框架作为底层数...

oKong
今天
13
0
win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
今天
2
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
今天
2
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 vim 4.expect [root@yong-01 sbin]# vim 4.expect#!/usr/bin/expectset passwd "20655739"spawn rsync -av ro...

lyy549745
今天
1
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
今天
1
0
matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部