当前位置: 首页 > wzjs >正文

镇江网站推广排名北京中小企业公司名单

镇江网站推广排名,北京中小企业公司名单,室内设计手绘图 基础入门,设计网站做海报Gradle打包流程 一、Gradle基础概念 1、是什么 自动化构建工具,通过组织一系列task来最终完成自动化构建的。 2、gradle使用groovy或者kotlin编写。 groovy是DSL。那么什么是DSL?DSL也就是Domain Specific Language的简称,也就是领域特定…

Gradle打包流程

一、Gradle基础概念

1、是什么

自动化构建工具,通过组织一系列task来最终完成自动化构建的。

2、gradle使用groovy或者kotlin编写。

groovy是DSL。那么什么是DSL?DSL也就是Domain Specific Language的简称,也就是领域特定语言,是为了解决某一类任务专门设计的计算机语言。DSL使用简单,定义比较简洁。

3、无论是基于groovy还是kotlin编写,均是基于jvm的语言。

因此本质上都是面对对象的,面向对象的特点是一切皆为对象,所以,在gradle里,.gradle脚本的本质就是类的定义,一些配置项的本质都是方法调用,参数是后面的{}闭包。比如build.gradle对应Project类,buildScript对应Project.buildScript方法。

二、打包流程

三部曲:初始化、配置、执行

1. 初始化(Initialization)
  • settings.gradle 解析
    确定参与构建的模块(Module),构建多模块工程依赖树。
2. 配置(Configuration)
  • 解析 build.gradle 文件
    • 根项目的 build.gradle:定义全局配置(如仓库地址、依赖版本)。
    • 模块的 build.gradle:配置Android插件、构建类型(Build Types)、依赖项等。
  • 创建Task依赖图
    Gradle根据配置生成所有Task及其依赖关系(不执行Task)。
3. 执行(Execution)

Gradle按依赖顺序执行Task,核心流程如下:

3.1 资源处理
  • 资源合并与编译
    • 合并所有资源(src/main/res、Flavor资源、Build Type资源)。
    • 编译资源为二进制格式(.ap_文件),生成 R.java/R.kt 文件。
3.2 代码编译
  • Java/Kotlin 编译
    • 编译Java/Kotlin源码(包括生成的 R.javaBuildConfig.java)。
    • 输出:.class 文件
3.3 字节码处理
  • Transform API 阶段
    自定义Transform(如字节码插桩)在此介入。
  • Dex/D8转换
    • dexBuilder Task(AGP 3.0+):
      使用D8编译器将 .class 文件转换为Dex格式(Dalvik/ART可执行文件)。
    • 输出:*.dex 文件(或增量处理的 .jar)。
3.4 打包APK
  • 资源、代码、清单合并
    • package[BuildVariant] Task:
      • 合并所有资源、清单文件(Manifest)。
      • 将Dex文件、编译后的资源、原生库(.so)、Assets等打包到未签名的APK中。
3.5 APK签名
  • sign[BuildVariant] Task
    使用调试密钥或发布密钥对APK签名:
    • 调试模式:自动使用 debug.keystore
    • 发布模式:需配置签名信息(在 build.gradle 中定义 signingConfigs)。
3.6 优化与对齐(Release构建)
  • Zipalign优化
    • zipalign Task:
      对齐APK中的资源文件到4字节边界,提升运行时内存访问效率。
  • R8/ProGuard混淆(可选)
    • 在Release构建中启用:
      压缩代码、移除无用资源、混淆类/方法名(生成 mapping.txt)。
4. 输出产物
  • 生成APK文件:位于 app/build/outputs/apk/[variant]/
  • 可选生成AAB(Android App Bundle):用于上传Google Play。

文章转载自:

http://tQE55MoP.djxnn.cn
http://LtYiBqnN.djxnn.cn
http://BhaDtBzT.djxnn.cn
http://a1eFzpuD.djxnn.cn
http://hQdbMdlJ.djxnn.cn
http://ykA26QEV.djxnn.cn
http://ClB0Bdr7.djxnn.cn
http://uXWGNm5Q.djxnn.cn
http://eKblDPeV.djxnn.cn
http://h1HtQe1Z.djxnn.cn
http://T4QOyOef.djxnn.cn
http://LHRLlS99.djxnn.cn
http://JHSKDrsS.djxnn.cn
http://ivrslr3B.djxnn.cn
http://fMA1AAye.djxnn.cn
http://ljuz3xZb.djxnn.cn
http://sitEqjVh.djxnn.cn
http://iTLtZDYr.djxnn.cn
http://8kQ3Ao4B.djxnn.cn
http://sDPbtQxp.djxnn.cn
http://eznTnqK3.djxnn.cn
http://ATArvQts.djxnn.cn
http://a6LpJOpB.djxnn.cn
http://ySGmlEKN.djxnn.cn
http://F3vOhh0v.djxnn.cn
http://HSKEqcAW.djxnn.cn
http://xad1zP3Q.djxnn.cn
http://8T4oBc5n.djxnn.cn
http://3ImxqEW1.djxnn.cn
http://8oOZtapU.djxnn.cn
http://www.dtcms.com/wzjs/706233.html

相关文章:

  • 怎么做网站子页软件开发自学入门教程
  • 农业门户网站建设目标目前做外贸的网站哪个比较好
  • 无需下载直接进入的网站的代码贵州讯玛网站建设
  • 做网站搭建和微信平台推广做cms网站
  • 做网站被骗首付款怎么报案优化算法 网站
  • 网站建设资金方案永修建设局网站
  • 做阀门销售什么网站最好vs网站搜索栏怎么做
  • 哪些网站教你做系统做网站用小动画
  • 整站seo运营win 2008 iis建立网站
  • 规划一个电子商务网站网页小游戏的网站
  • 本地服务网站开发wordpress云服务器配置
  • 营销网站服务器网站的照片上传的功能怎么做
  • 关于公司做网站供比价报告上海网络推广团队
  • 想要提高网站排名应该怎么做phpstudy配置网站
  • 外汇交易网站开发天津西青区
  • wordpress 浏览历史网站 优化 关键字
  • 做网站一个月赚多少钱织梦网站首页错位
  • qt做网站服务器salong wordpress
  • 东莞网站设计网址淘宝建设网站首页
  • 大良营销网站公司汕头公关公司
  • 网站开发的布局划分贵州网站建设套餐
  • 网站开发者工具的网络选项临沂网站开发公司电话
  • 泸州市建设工程管理局网站商品管理系统
  • 重庆营销型网站建设多少钱品牌标志设计的风格包括
  • 网站地图 怎么做大二dw网页设计作业成品
  • 网站开发温州怎么看网站文章的收录
  • 邯郸市建设局网站政策网站开发工程师需要哪些技术
  • 后缀为net的网站有哪些百度网站小程序怎么做
  • 为什么做的网站搜不出来的长春seo快速排名
  • 农产品网站建设策划书范文国外优秀网站模板