Android 模块化编程之引用本地的aar

简介: 转:  http://www.stormzhang.com/android/2015/03/01/android-reference-local-aar/     随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。

转: 

http://www.stormzhang.com/android/2015/03/01/android-reference-local-aar/

 

 

随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。针对Android开发最常见的就是Android Library,在Gradle出现之前引用Android Library的方式也很繁琐,但是有了Gradle一切变得非常简单方便。

aar

何为aar?大家都知道jar文件把,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是一个Android Library项目导出的jar文件不能包含资源文件,比如一些drawable文件、xml资源文件之类的,所以这就有很大的限制,在gradle之前我们要引用带资源文件的Android Library必须要把整个library导入进来进行引用,但是有了gradle之后,Android Library项目可以直接导出成aar,然后其他项目像引用jar的方式直接方便的引用。

导出aar

首先Android Library项目的gradle脚本只需要在开头声明

apply plugin: 'com.android.library'

之后就和导出apk文件一样的方法,执行 ./gradlew assembleRelease,然后就可以在 build/outputs/aar 文件夹里生成aar文件

引用本地的aar

生成aar之后下一步就是如何引用本地的aar文件?本地的aar文件并没有像引用jar文件这么简单,官方也没有提供解决方案。好在国外的一些前辈总结出了方法,下面就以test.aar文件为例来详述下方法

1、把aar文件放在一个文件目录内,比如就放在libs目录内

2、在app的build.gradle文件添加如下内容

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

3、之后在其他项目中添加一句gradle依赖便方便的引用了该library

dependencies {
    compile(name:'test', ext:'aar') }

以上方法亲测有效。

总结

当然通过gradle最普遍的方法是把aar上传到mavenCentral或者jcenter,引用的话更方便,但是对于一些公司内部library不想公开,而传统的引用library方式又太繁琐,引用本地的aar文件这种方式会非常方便合适,之后通用的模块只需要做成library,不管更新还是修改只需要打包成aar,然后供其他项目使用就好了,对Android开发来说这是提升代码复用非常有效的一个手段。

目录
相关文章
|
1月前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
1月前
|
Ubuntu 网络协议 Java
在Android平板上使用code-server公网远程Ubuntu服务器编程
在Android平板上使用code-server公网远程Ubuntu服务器编程
|
7月前
|
Android开发
Android获取已连接wifi的热点信息(上位机开发学习之多个界面切换编程)
Android获取已连接wifi的热点信息(上位机开发学习之多个界面切换编程)
182 0
|
8月前
|
数据安全/隐私保护 Android开发
uniapp vue3版本 Android 引用 jsencrypt加密库 报错问题 “default“ is not exported by,解决方法
uniapp vue3版本 Android 引用 jsencrypt加密库 报错问题 “default“ is not exported by,解决方法
830 0
|
8月前
|
IDE Java 开发工具
在Android Studio中进行JNI编程
在Android Studio中进行JNI编程
|
9月前
|
Android开发
Android 开发引用 okio 依赖之后无法运行main方法的坑
Android 开发引用 okio 依赖之后无法运行main方法的坑
74 1
|
9月前
|
存储 安全 Java
Android如何生成本地或者远程aar
把一定的功能逻辑抽取成一个aar,提供至需要的人,在Android的开发中,这种方式司空见惯,只闻使用方式,不知内部实现,加深了源码的保护措施,又使得功能可以正常开发,相对于一些公司有着外包人员的协同开发,一些主要的功能,不想泄露,那么就可以采取这种方式。
206 0
|
9月前
|
存储 设计模式 ARouter
现代化 Android 开发:组件化与模块化的抉择
本文为现代化 Android 开发系列文章第四篇。
211 0
|
10月前
|
Java 开发工具 Android开发
Android修改aar包中的类文件并重新打包
Android修改aar包中的类文件并重新打包
791 0
|
11月前
|
Java Android开发
【Android】jar包和AAR包
以前在使用 Eclipse 开发 Android 时,如果想代码打包,只有 jar 包一个方法,但是 jar包 只能把 Java 文件代码打包进去,如果要使用一个有布局和资源的库的话,除了将 jar 放入 libs 外,还要引入相关的资源和配置文件,很麻烦。
150 0