位置: 编程技术 - 正文

Android Studio 打包及引用 aar(Android studio 打包apk后卡在首屏)

编辑:rootadmin
Android Studio 打包及引用 aar1、 简述

推荐整理分享Android Studio 打包及引用 aar(Android studio 打包apk后卡在首屏),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Android Studio 打包APK,Android studio 打包后项目闪退,Android studio 打包apk后卡在首屏,androidstudio打包,Android studio 打包aar,Android studio 打包aar,Android studio 打包apk后卡在首屏,androidstudio打包,内容如对您有帮助,希望把文章链接给更多的朋友!

在比较大的 Android 项目的开发中,我们经常会遇到工程、jar 包等等之间相互引用的方式。一般我们通过在 gradle 文件中配置依赖来解决,比如:

Gradle 的一些基本依赖配置方式如下:

compile fileTree(dir: 'xxx', include: ['*.jar', "*.xxx"]):将某个目录下所有符合扩展名的文件作为依赖;compile 'com.xx.xx:ProjectName:Version':配置Maven` 库作为依赖;在 Maven 库中心 可以搜索自己想用的库进行依赖;compile project(':AnotherModule'):配置另一个 Module 作为本 Module 的依赖,被依赖的 Module 必须被导入到当前工程中;compile files('xxx.jar'):配置某个 jar 包作为依赖。

看起来不错,基本通用的配置都已经存在了。一般对于中等小型的工程,这种开发方式完全没有问题。但是有时候 A 和 B 两个工程,想同时引用另一个公共的 Module C,而这个 Module 可能是一个比较复杂的 Android Module,可能包含了一些主题、UI 、资源文件等等,这时候,如果用 Module 依赖的方式来配置,不免有些困难,因为 A 和 B 都要导入 C,而且要随时关注 C 的更改。

好在 Android Studio 提供了 aar 库的打包方式,我们可以把 C 作为 library 进行打包,输出 aar 文件,然后在 A 和 B 中,配置 aar 库依赖,就可以解决。

2、aar 文件简介

要输出 aar 文件,必须将 Module 配置为 library,在 gradle 文件中如下:

输出 aar : apply plugin: 'com.android.library';输出 apk :apply plugin: 'com.android.application'。

将 Module 配置为 library 后,构建输出一个 aar 文件,根据渠道和 BuildType 的不同,在相应的目录下可以找到。比如对 BuildType 为 debug 的配置,输出为:[ModuleName]/build/outputs/aar/[ModuleName]-debug.aar。一份 aar 文件其实就是一份 zip 包,和 jar 不同的是,它将一些资源文件、第三方库文件、so 文件等等都打包在内,而代码文件编译后压缩在在 classes.jar 中。比如:

3、导入 aar 的方式引用

这种方式比较简单,打开 Project Structure,添加一个新 Module,然后选择 Import *.JAR or *.AAR Package 的方式导入:

Android Studio 打包及引用 aar(Android studio 打包apk后卡在首屏)

导入后,在你的工程下面,会生成一个文件夹,里面是 aar 文件以及 Android Studio 的配置文件。

接着可以在 gradle 中配置依赖了,其他 Module 可以引用这个 Module 了,依赖方式使用 compile project 的方式即可。

缺点:被依赖的 aar 无法 F3 跟进去,无法看到资源文件内容以及目录层级等等缺陷。

4、使用配置依赖的方式引用

gradle 其实还有另一种依赖可以引用 aar:

compile(name: 'xxx', ext: 'aar')。

首先需要将 aar 文件放入引用 Module 的 libs 目录下,和一般的 jar 文件类似。然后在 gradle 配置文件中把 libs 目录加入依赖:

接着在 gradle 的依赖配置中加入 compile(name: 'xxx', ext: 'aar') 这一句,依赖即可关联完毕。构建一下工程,在 Module 的 build/intermediates/exploded-aar 目录下,可以看到有一些临时文件生成:

看起来完全是引用 aar 的解压版本。Android Studio 安装反编译插件后,可以通过 F3 跟进到 class 文件里面,如果你有被依赖 Module 的源代码的话,还可以 Attach Source 关联源代码查看。另外,可以很方便的查看 aar 中的资源文件。

另外,这种依赖方式更新 aar 后,生成的临时文件也会随之变动,不用担心改动不同步的问题。

5、总结

综上,介绍了 aar 文件的生成方式,以及两种 aar 依赖的方式,经过实战检验,第二种通过配置 gradle 依赖的方式简单易用,只需一行代码即可搞定。

安卓自定义图表----柱状图 最近一直在做图表相关的开发,一些普通的图表使用achartengine都可以实现了,但是一些特殊的需求实现起来就比较麻烦了,比如类似小米手环的睡眠分

Android 断言处理 在加载字体、html、图片资源文件,断言中限制文件大小为1mb,res、raw也一样有这样的限制。如果把资源放到sdcard里面会存在io效率问题。1.加载字体Androi

Linux下的代码统计工具--sloccount 转载自:

标签: Android studio 打包apk后卡在首屏

本文链接地址:https://www.jiuchutong.com/biancheng/382268.html 转载请保留说明!

上一篇:复杂JSON解析(GSON+Vallery)网上很难找到这么复杂的JSON哦(json转复杂对象)

下一篇:安卓自定义图表----柱状图(安卓绘制图表)

  • 包装物租金要交消费税吗为什么
  • 小规模纳税人所得税怎么征收
  • 暂估入库收到发票后怎么做分录
  • 土地款发票是否可以抵扣
  • 金蝶软件发票录入什么科目
  • 商业承兑汇票利息什么时候支付
  • 公司为个人租房是否缴纳个税
  • 快消品行业成本结转方法
  • 印花税购销合同计税金额怎么算
  • 公司破产后资产怎么处理
  • 用支票结清运杂费的会计分录
  • 公司筹建期的个税怎么交
  • 应税凭证和纳税凭证的区别
  • 银行承兑汇票盖已承兑登记
  • 承兑贴息的会计分录
  • 付款凭证会计分录怎么写
  • 辞退员工会计分录
  • 新药从开发到生产的流程
  • 地毯属于什么类别
  • 高新技术企业的行业
  • 其他应付款调整到其他应收款
  • 营改增后的增值税税率
  • Mac怎么禁用icloud
  • window10主题的颜色浅了
  • 或有事项基本确定
  • pqhelper.exe是什么进程 pqhelper进程查询
  • 在php中,什么函数能将数组转化为字符串
  • 配置eAccelerator和XCache扩展来加速PHP程序的执行
  • vue three.js
  • 合理损耗企业所得税税率
  • 跨行政区域是跨省吗
  • 当年盈余资金计算公式
  • 水利建设基金的计税依据及税率
  • afn取消请求
  • yolo v5 github
  • 【历史上的今天】3 月 29 日:“机器人三定律”问世;电脑动画首次获得奥斯卡;Caldera Linux 沉浮史
  • fdisk命令的功能是什么?
  • 保险代理人展业成本如何计算
  • python简单九宫格拼图游戏
  • 应付账款的会计含义
  • mysql基本sql语句大全(基础用语篇)
  • 织梦建站详细教程
  • 公司车辆保险费要交印花税吗
  • 制造费用哪些是变动的哪些是固定的
  • 所有小规模都能开专票吗
  • 资产负债表所有者权益排列顺序
  • 车户过户
  • 以前年度漏扣个税怎么处理
  • 某首饰商城为增值税一般纳税人,2021年1月发生以下业务
  • 生产成本如何做核算
  • 销售返利的账务处理案例
  • 实物投资需要缴纳增值税吗
  • 母子公司之间的借款利息支出增值税能否抵扣
  • 进项税转出怎样做账务处理
  • 支付给烟农的价格怎么算
  • 一般纳税人出现以下哪些情况时,其进项税额不得抵扣( )
  • 可以从公司公户直接支付给个人的款项有哪些
  • 预付的展会费如何入账
  • 根据银行回单做凭证
  • 远程认证软件可以卸载吗
  • 资本增值率计算公式是什么?
  • 税种工会经费
  • 企业清算的顺序
  • sql server数据库正在恢复
  • sql只能查询数据,不能修改数据
  • mysql数据库简单介绍
  • mysql获取日期年份
  • windows server 开始菜单
  • 直接在u盘上工作
  • DxDebugService.exe是什么进程 DxDebugService进程安全吗
  • 进程出现很多regsvr32
  • win8双系统怎么切换
  • Win10年度升级版Redstone来了:更加个人化的计算体验
  • react-native-navigation
  • ExtJS 2.0实用简明教程之应用ExtJS
  • Linux 中常用的几种压缩工具?
  • jquery事件解绑
  • python字符串的编码规则
  • jquery实例
  • 天津国税发票查询真伪查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设