aar
来源:互联网 发布:cla 知乎 编辑:程序博客网 时间:2024/06/09 20:46
1. 何为aar?
大家都知道jar文件把,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是一个Android Library项目导出的jar文件不能包含资源文件,比如一些drawable文件、xml资源文件之类的,所以这就有很大的限制,在gradle之前我们要引用带资源文件的Android Library必须要把整个library导入进来进行引用,但是有了gradle之后,Android Library项目可以直接导出成aar,然后其他项目像引用jar的方式直接方便的引用。
2.生成方法
要输出 aar 文件,必须将 Module 配置为 library,在 gradle 文件中如下:
Moduled中的build.gradle文件的第一行参数:
1. 输出aar,即想生成aar就在这里把Mudule配置为library
apply plugin: 'com.android.library'
Moduled中的build.gradle文件的第一行参数:
1. 输出aar,即想生成aar就在这里把Mudule配置为library
apply plugin: 'com.android.library'
2.生成apk
apply plugin: 'com.android.application'
比如对BuildType 为debug 的配置,输出为:[ModuleName]/build/outputs/aar/[ModuleName]-debug.aar。
注意:
如果是把普通的工程转化成依赖包的话,还需要删除:
applicationId "com.***"
apply plugin: 'com.android.application'
比如对BuildType 为debug 的配置,输出为:[ModuleName]/build/outputs/aar/[ModuleName]-debug.aar。
注意:
如果是把普通的工程转化成依赖包的话,还需要删除:
applicationId "com.***"
3.单独编译一个aar
现在我的一个 project 下面有多个 Module ,一开始不知道如何单独编译某个 Module , 现在记录下
在 Terminal 标签下输入
./gradlew :your_module_name:task_name 如:./gradlew :app:assembleRelease
在 Terminal 标签下输入
./gradlew :your_module_name:task_name 如:./gradlew :app:assembleRelease
3. 添加依赖
在当前需要添加依赖的项目中找到build.gradle
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
告诉去libs下找aar
然后在依赖(dependencies)中添加你的aar,例如我写了一个自定义控件,生成之后为
myviewlayout-debug.aar,即可在其中加上:
compile(name: 'myviewlayout-debug', ext: 'aar')
到此,需要更改的配置就完成了,只需再点击下右上角出现的sync Now即可更新Gradle配置啦!。
myviewlayout-debug.aar,即可在其中加上:
compile(name: 'myviewlayout-debug', ext: 'aar')
到此,需要更改的配置就完成了,只需再点击下右上角出现的sync Now即可更新Gradle配置啦!。
4. 调用
调用方法与jar文件一样,只需导入包名即可调用里面的函数或者控件之类的。
例如,我之前测试的时候写了一个自定义标题栏myView.aar,
在module中的包名为:
com.example.myView
添加依赖后,在当前项目中的布局添加控件:
<com.example.kenjc.myview.MyBar
例如,我之前测试的时候写了一个自定义标题栏myView.aar,
在module中的包名为:
com.example.myView
添加依赖后,在当前项目中的布局添加控件:
<com.example.kenjc.myview.MyBar
5.注意
aar不会将依赖的lib包打包进来, 哪里引用aar, 哪里要把aar需要的lib一块引入进来
6.使用aar中的activity
//方法一 可行
try{
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
//这里的packetname 一定记住填写 调用方的packetname 因为 aar最终会被合并到调用方的manifest文件
intent.setComponent(new ComponentName("com.examole.test",//packagename
"com.example.module.LYMainActivity"));//classname//
startActivity(intent);
} catch (Exception e) {
Toast.makeText(getApplicationContext(),e.getMessage() ,Toast.LENGTH_LONG).show();
}
return;
//方法二 可行
// //此种方式 需要androidmanifest.xml添加相应的activity
// startActivity(new Intent(this,LYppMainActivity.class));
// return;
try{
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
//这里的packetname 一定记住填写 调用方的packetname 因为 aar最终会被合并到调用方的manifest文件
intent.setComponent(new ComponentName("com.examole.test",//packagename
"com.example.module.LYMainActivity"));//classname//
startActivity(intent);
} catch (Exception e) {
Toast.makeText(getApplicationContext(),e.getMessage() ,Toast.LENGTH_LONG).show();
}
return;
//方法二 可行
// //此种方式 需要androidmanifest.xml添加相应的activity
// startActivity(new Intent(this,LYppMainActivity.class));
// return;
阅读全文
0 0
- aar
- aar打包
- aar格式
- make aar
- ANDROID STUDIO 生成AAR和引用AAR
- Android studio 打包aar、导入aar
- ANDROID STUDIO 生成AAR和引用AAR
- android studio 生成AAR和引用AAR
- 发布aar服务
- 如何开展AAR?
- What is AAR Format
- Android Studio 使用 aar
- Android 打aar包
- aar的初步了解
- AndroidStudio生成aar包
- Android studio 打包aar
- android studio 使用aar
- Gradle上传aar
- 学习笔记:C++ primer Plus chap5
- VC++指定时间后电脑重启
- C3P0连接问题
- 思科设备syslog支持
- jquery地区选择三级联动
- aar
- telechips平台gstreamer实现pango字幕混入视频功能
- PyQt5+OpenCV+Matplotlib 基础操作教程代码
- Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔
- Tomcat中ISO-8859-1转UTF-8中文乱码的问题
- 网易云音乐 ubuntu14.04安装包url
- STL-vector的使用 详细说明
- python 添加环境变量后,仍显示python不是内部命令 pycharm注册码
- ElasticSearch及ElasticSearch-head的安装(windows版本)