Android Studio开发趟过的坑之aar的使用

很多时候我们需要使用第三方的库,如果这些库是以Module的形式集成到工程里,不仅工程的体积庞大,而且还严重影响编译速度!


这时候我们就会考虑将第三方库打包成aar文件进行引用,引用的方法还是网上的老套路:

1、将打包的aar放到libs目录;

2、在你主程序的Module(没改的话一般是app)的build.gradle文件增加:

allprojects {
    repositories {
        jcenter()
        flatDir { dirs 'libs' }//定义本地库目录,引用aar用到
    }
}
说明:jcenter()不是引用aar必须的,得看dependencies{}中依赖的第三方库是否需要该方式。

3、dependencies{}中添加aar的引用,如果打包aar的Module的build.gradle文件中也依赖第三方库,则必须在你主程序的Module的build.gradle文件中增加依赖,否则即使编译通过,在运行时也会提示找不到库中的类,例如:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:25.2.0'
    //引用aar
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    compile 'com.nineoldandroids:library:2.4.0'//spinnerwheel-release.aar需要依赖这个库
     compile 'com.github.barteksc:pdfium-android:1.5.0'//android-pdf-viewer-release需要依赖这个库,并且需要repositories中声明jcenter()
    compile(name: 'spinnerwheel-release', ext: 'aar')
    compile(name: 'mpchartlib-release', ext: 'aar')
    compile(name: 'android-pdf-viewer-release', ext: 'aar')
}


以上面的3个库为例总结一下效果:

1. 占用空间:Module总共200M,打包成aar后总共不到500KB;

2. 编译时间:Module首次编译时间大约2分钟,重复编译8秒左右;改用aar后首次编译时间大约半分钟,重复编译3秒左右。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值