当前位置:   article > 正文

一个android工程生成两个aar,android studio 生成aar包并在其他工程引用 (导入)aar包...

aar工程

1.aar包是Android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android

studio 工程后,其他工程可以方便引用源码和资源文件

在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。

分别存储位置:

*.jar:库/build/intermediates/bundles/debug(release)/classes.jar

*.aar:库/build/outputs/aar/libraryname.aar

两者区别:

*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。

*.aar:包含所有资源,class以及res资源文件全部包含

如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。

2.生成aar包步骤:

①.用android studio打开一个工程,然后新建一个Module,新建Module时候选择Android Library,后面按新建普通工程操作

a09b46322df02478ecf324f68379ce87.png

9eb04f0a95a3e9d0edf7195d8e97b5b5.png

②.新建Module 类型为android Library 后如下图所示

b5ad0a6be5c84781dc6cbcd610cd1e23.png

③.在新建的Module中编写完代码后,接下来编译整个工程后就会自动生成aar包,包的路径在新建的Module ==》 build ===》outputs ==>aar目录下。 如图

25c96a318e7ddf9942b0cbad91cf0ba2.png

d4b6015012f6c28c2fa16cfef6f8383e.png

3.其他androidstudio工程引用aar包

①.将aar包复制到lib目录下

②.配置build.gradle文件:

加入

repositories {

flatDir {

dirs 'libs'

}

compile(name:'camerascan-1.0', ext:'aar')

完整的配置文件:

apply plugin: 'com.android.application'

android {

compileSdkVersion 22

buildToolsVersion "22.0.1"

defaultConfig {

applicationId "com.geenk.testcamerascanarr"

minSdkVersion 11

targetSdkVersion 22

versionCode 1

versionName "1.0"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

repositories {

flatDir {

dirs 'libs'

}

}

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

compile(name:'camerascan-1.0', ext:'aar')

compile 'com.android.support:appcompat-v7:22.2.0'

}

③.编译一次工程

如图复制aar包到lib下

204beab0a885ea628ba071022db9e2c0.png

图复制到lib下后,点击下图按钮让aar包可以在在代码中引用,或者编译一次工程

a680bddee51a37964eceaec1adb56b76.png

以上操作成功后可以在扩展包下看到被引用的aar包文件

a44c3d83342c35a0f89098a71c179a8d.png

原文链接:http://blog.csdn.net/getchance/article/details/47257389

我的Demo下载;

Android Studio系列教程五--Gradle命令详解与导入第三方包

Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...

android studio生成aar包

android studio生成aar包并在其他工程引用aar包 http://blog.csdn.net/getchance/article/details/47257389 用Android st ...

Android Studio生成javadoc出错的解决办法

一般使用Android Studio生成javadoc会有两个问题: 空指针异常 文档乱码 解决办法如下: 第1个问题:Tools --> Generate JavaDoc -->打开对话 ...

Android Studio生成keystore签名文件步骤讲解

Android App打包时要用到签名文件,Android Studio生成签名文件步骤如下: Build---Generate Signed Apk...如图: 如果你的project中有2个或者2 ...

ubuntu下android studio生成的unaligned apk的zipalign处理

在ubuntu系统中使用android studio生成的apk文件始终都是unaligned apk, 在bulid.gradle中设置如下设置后,还是同样生成的是unaligned apk. mi ...

Android Studio 生成 keystore 签名文件

Android Studio 生成 keystore 签名文件 常见 SSL 证书格式 : .DER .CER,文件是二进制格式,只保存证书,不保存私钥. .PEM,一般是文本格式,可保存证书,可保存 ...

Android Studio复制项目作为一个新的工程

Android Studio复制项目作为一个新的工程 等待..... 好了 可能会安装失败 Failed to finalize session : INSTALL_FAILED_INVALID_AP ...

在java工程中导入jar包的注意事项

在java工程中导入jar包后一定要bulid path,不然jar包不可以用.而在java web工程中导入jar包后可以不builld path,但最好builld path.

android studio生成aar包并在其他工程引用aar包

1.aar包是android studio下打包android工程中src.res.lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 ...

随机推荐

Appium移动自动化测试之安装Appium

第一次学习appium,希望此安装教程可以帮助初学者,共同学习. Appium官网介绍:Appium是与本地,使用开源自动化测试框架, 混合和移动Web应用程序. 它驱动iOS和Android应用使用 ...

implicit operator

class Digit { public Digit(double d) { val = d; } public double val; // ...other members // User-def ...

Linux基本配置

Linux发行版:centos 6.5 配置yum源 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -P /etc/yum.repos ...

使用Keil建立工程和烧录到89C52板上

又开始学习C51了,不清楚能坚持多久,之前学过一段时间,学完P1口就没再学了,之前学的都忘了. 1. 使用Keil 进行建立工程:打开Keil 4. 加载C文件进工程里面 然后展开"Sour ...

斯坦福 IOS讲义 课件总结 一

1,引入文件, #import IOS7 中可以这样写 @import Foundation; 2,在.h文件引入的是公用的,在.m文件 ...

【Java 并发】详解 ThreadPoolExecutor

前言 线程池是并发中一项常用的优化方法,通过对线程复用,减少线程的创建,降低资源消耗,提高程序响应速度.在 Java 中我们一般通过 Exectuors 提供的工厂方法来创建线程池,但是线程池的最终实 ...

Ionic集成ArcGIS JavaScript API.md

1. Ionic同原生ArcGIS JavaScript API结合 1.1. 安装esri-loader 在工程目录下命令行安装: npm install angular2-esri-loader ...

《读书报告 -- Elasticsearch入门 》-- 安装以及简单使用(1)

第一章 Elasticsearch入门 Elasticsearch是一个实时的分布式搜索和分析引擎,使得人们可以在一定规模上和一定速度上 ...

【详解】JNI (Java Native Interface) (二)

案例二:传递参数给C代码,并从其获取结果 注:这里传递的参数是基本类型的参数,在C代码中有直接的映射类型. 此案例所有生成的所有文件如下: (1)编写案例二的Java代码,如下: 这里我们定义了一个n ...

MVC 扩展RadioButtonListFor和CheckBoxListFor

学习MVC时候前端通常会用到HtmlHelper,使得前端编码简便很多.我们可能会经常用到htmlHelper中一些的EditorFor,LabelFor,ValiationMessageFor, 发 ...

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/331658
推荐阅读
相关标签
  

闽ICP备14008679号