android studio 生成aar包并在其他工程引用 (导入)aar包

时间:2022-10-09 12:54:26

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,后面按新建普通工程操作

android studio 生成aar包并在其他工程引用 (导入)aar包

android studio 生成aar包并在其他工程引用 (导入)aar包

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

android studio 生成aar包并在其他工程引用 (导入)aar包

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

android studio 生成aar包并在其他工程引用 (导入)aar包

android studio 生成aar包并在其他工程引用 (导入)aar包

3.其他androidstudio工程引用aar包

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

②.配置build.gradle文件:

加入

repositories {

        flatDir {

        dirs 'libs'

    }

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

完整的配置文件:

  1. apply plugin: 'com.android.application'
  2. android {
  3. compileSdkVersion 22
  4. buildToolsVersion "22.0.1"
  5. defaultConfig {
  6. applicationId "com.geenk.testcamerascanarr"
  7. minSdkVersion 11
  8. targetSdkVersion 22
  9. versionCode 1
  10. versionName "1.0"
  11. }
  12. buildTypes {
  13. release {
  14. minifyEnabled false
  15. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  16. }
  17. }
  18. repositories {
  19. flatDir {
  20. dirs 'libs'
  21. }
  22. }
  23. }
  24. dependencies {
  25. compile fileTree(dir: 'libs', include: ['*.jar'])
  26. compile(name:'camerascan-1.0', ext:'aar')
  27. compile 'com.android.support:appcompat-v7:22.2.0'
  28. }

③.编译一次工程

如图复制aar包到lib下

android studio 生成aar包并在其他工程引用 (导入)aar包

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

android studio 生成aar包并在其他工程引用 (导入)aar包

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

android studio 生成aar包并在其他工程引用 (导入)aar包

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

我的Demo下载;

导出库:GDMAP

导入库:MyMap

android studio 生成aar包并在其他工程引用 (导入)aar包的更多相关文章

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

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

  2. android studio生成aar包

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

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

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

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

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

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

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

  6. Android Studio 生成 keystore 签名文件

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

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

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

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

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

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

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

随机推荐

  1. android中Json的一些应用

    JSON(JavaScript Object Notation) :一种轻量级的数据交换格式,基于JavaScript的一个子集. JSON采用完全独立于语言的文本格式,使JSON成为理想的数据交换语 ...

  2. MotoG2刷机小结

    昨天,终于受不了MotoG2的后台软件不停重启,手机经常卡死,于是决定刷机,网上的教程好多,实践后总结一下,下面这个教程完美通过. 1.解官方BL锁.第一步:http://pan.baidu.com/ ...

  3. XiaoShi657的留言板

    大家好,很荣幸能够借助此平台和大家分享.讨论编程技术! 有什么想对我说的请在这里留言吧

  4. html5绘制折线图

    html5绘制折线图详细代码 <html> <canvas id="a_canvas" width="1000" height="7 ...

  5. Oracle登陆及修改用户密码

    16:20 2013/7/7 Oracle 登陆 管理员登陆 sqlplus sys/root as sysdba (密码认证)这个root是安装数据库最初你输入的口令 sqlplus     /as ...

  6. Linq 导出Excel

    var d = db.User; Repeater1.DataSource = d.ToList(); Repeater1.DataBind(); string guid = Guid.NewGuid ...

  7. &lbrack;算法专题&rsqb; LinkedList

    前段时间在看一本01年出的旧书<effective Tcp/Ip programming>,这个算法专题中断了几天,现在继续写下去. Introduction 对于单向链表(singly ...

  8. c-lodop云打印实现手机打印 JS语句打印

    Lodop和c-lodop目前只能安装到windows操作系统上,但是其他操作系统可通过向C-Lodop安装的电脑发送打印任务,实现手机广域网或局域网打印,打印语句也是简单的JS语句,可以轻松实现云打 ...

  9. 一、Redis数据备份与恢复

    Redis里的数据都是保存在内存中,关闭服务器必须进行数据备份. 1.Redis的数据持久化 bgsave做镜像全量持久化,AOF做增量持久化. bgsave的原理:fork和cow(copy on  ...

  10. AngularJS 中&lt&semi;a&gt&semi; 超链接标签不起作用?

    开始时遇到个问题,单页应用<a>元素链接点击就是不跳转页面,使用超链接标签<a href='group'>click</a> 不起作用. 解决方法: 如果你不巧配置 ...