Android Studio 生成*.aar文件及使用方法

在android项目中遇到 aar文件的使用,现总结aar相关的使用方法:

(一)aar与jar的区别

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

jar是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。

Jar的优点:安全性、减少下载时间、传输平台扩展、包密封、包版本控制、可移植性。

打jar包时,项目里的res文件无法使用,若想用图片文件,可以将图片文件放进assets文件里面打进jar包再进行调用,但必须注意jar里面assets文件夹里面的文件不能和调用项目里面assets文件夹里面的文件重名。

jar打包方法,不详细展开,参见:https://blog.youkuaiyun.com/u013895206/article/details/52692415
jar在AS中的使用:

在项目build.gradle中添加:

dependencies { 

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

(2)aar是Android库项目的二进制归档文件,包含所有资源,class以及res资源文件全部包含。将aar解压(后缀改为.zip,再解压文件)后,可以看到每个aar解压后的内容可能不完全一样,但是都会包含AndroidManifest.xml,classes.jar,res,R.txt。下图为我解压的一个aar文件内容:

(二 )aar的优势

对比发现,jar只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件;而aar包含所有资源 ,class 以及 res 资源文件。所以除了 Java 类与方法外,还可以捆绑布局和可绘制对象等共享资源。

(三 )module生成aar方法

在AS项目中,可能会用到第三方库,有时候配置相对比较麻烦且容易出错,比较简明的方式 可以选择打包成aar文件,然后调用该aar文件。第三方库生成aar文件方法:

(1)在项目主目录的build.gradle中添加:

buildTypes {
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
}

(2)点击右上方的gradle,并展开,找到需要生成aar文件的 第三方库,然后找到下图所示位置,运行assembleRelease则会生成 -release.arr,运行assembleDebug则会生成 -debug.arr,运行 assemble会同时生成上述两种arr文件

(四)aar在AS中的使用

(1)将aar文件拷贝到libs目录 

(2)在主项目的build.gradle 文件中添加:

repositories { 
     flatDir { 
          dirs'libs' 
     } 
} 

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

参考:

https://www.jianshu.com/p/0a2572a63ed5

https://www.jianshu.com/p/1777a634db5e

https://blog.youkuaiyun.com/qq_17441227/article/details/80361243

https://blog.youkuaiyun.com/u013895206/article/details/52692415

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值