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

Android Gradle - 一些 Gradle 的碎片知识(Android Gradle Plugin、namespace、package 属性、模块打包)

Gradle 与 Android Gradle Plugin

  1. Gradle 是一个强大且高度可配置的构建工具,本身只提供了核心的构建框架和任务管理机制,,为各类项目(例如,Java、Kotlin、C++ 项目)提供构建能力的基础

  2. Android Gradle Plugin 是运行在 Gradle 之上的一个特定插件,它的作用是让 Gradle 能够理解并执行构建 Android 应用所需的一切复杂工作,例如

1. 编译资源文件和 Java / Kotlin 代码 2. 处理 AndroidManifest.xml 3. 对 APK 进行签名和对齐 4. 管理构建变体

Android Gradle 中的 android{ namespace }

  1. namespace 是 Android Gradle Plugin(AGP)7.0 版本中引入了新的概念,用来取代旧版的 applicationId 和 package 在资源访问层面的角色

  2. namespace 的核心作用是给 App 的R.java文件指定一个包名路径

  3. 旧方式的R.java的包名路径默认等于AndroidManifest.xml文件中的 package 属性


旧版 package 的属性身兼多职

1、基本介绍
  1. 应用唯一标识:系统根据 package 识别你的 App、布到 Google Play 后不可更改、影响安装路径/data/data/<package>/

  2. 资源命名空间:决定R.java文件生成的包路径

  3. 默认代码包名:如果没有显式指定,Java / Kotlin 文件的默认包名就是它,AndroidManifest.xml文件中注册的四大组件可以省略包名

<!-- 完整写法 --><activityandroid:name="com.example.myapp.MainActivity"/>
<!-- 省略包名 --><activityandroid:name=".MainActivity"/>
2、AGP 7.0+ 的明确分工
  1. 应用唯一标识:交给项目级build.gradle的 applicationId

  2. 资源命名空间:交给项目级build.gradle的 namespace

  3. 默认代码包名:交给项目级AndroidManifest.xml的 package


Android 模块打包

1、基本介绍
  1. 如果模块只包含纯逻辑代码,那可以打 JAR 包

  2. 但大多数 Android 模块会涉及资源文件,最推荐的还是打 AAR 包

布局文件(.xml) 图片、图标(drawable/) 颜色、尺寸、字符串(values/) 自定义 View 需要 attrs.xml 四大组件(Activity、Service 等)需要清单声明
  1. 只有纯算法、工具类(没有 Android 资源)可以打 JAR 包;但凡有界面或资源,必须打 AAR 包

  2. Gradle implementation 可以拉取 JAR 包或 AAR 包

2、打 AAR 包
  1. 创建 Android Library 模块:【File】 → 【New】 → 【New Module】 → 【Android Library】

  2. 构建 AAR 包:打开右侧 Gradle 面板 → 找到【模块名/Tasks/build/assemble] → 双击执行

  3. 获取 AAR 包,生成位置如下

模块名/build/outputs/aar/ ├── 模块名-release.aar # 正式版(推荐) └── 模块名-debug.aar # 调试版
http://www.jsqmd.com/news/1190448/

相关文章:

  • 操作系统笔记之临界区
  • 百达翡丽中国官方售后服务中心|全新官方电话和维修地址权威信息公告(2026年7月更新) - 百达翡丽服务中心
  • 2026家用电梯新国标实施,自建房选哪种电梯更合规安全? - 产业观察报
  • 跨省寄大件怎么选最划算?主流物流避坑与比价攻略 - 生活情报姬
  • 江诗丹顿中国官方售后服务中心|服务电话及详细地址权威信息声明(2026年7月更新) - 江诗丹顿服务中心
  • 杭州积家回收价格查询及各大回收平台实测排行(2026年7月最新数据) - 嘉价奢侈品回收平台
  • Kimi LeetCode 3574. 最大子数组 GCD 分数 Rust实现
  • 亨得利官方钟表服务中心|官方电话和完整维修地址权威信息公告(2026年7月最新) - 亨得利官方
  • C++笔记之不同线程访问同一资源时,读操作、写操作对锁的要求一样吗?
  • 亲身到店探访广州劳力士官方售后服务中心|全部地址及热线电话(2026年7月最新) - 劳力士官方服务中心
  • 2026年多哥BESC合规办理机构行业参考盘点 - 互联网科技品牌测评
  • 2026北京靠谱离婚律师top5推荐:新型财产、期权分割与抚养权博弈 - 本地品牌推荐
  • 寄快递省钱榜:主流物流比价神器优缺点与真实评价 - 生活情报姬
  • 2026广东女子职业技术学院附近驾校综合实力排行 - 奔跑123
  • 2026佛山采购管理培训机构哪家好?综合实力与口碑核验要点 - 企智芯
  • 2026年CPP包装袋有实力的供应商:透明CPP袋/蒸煮级CPP胶袋/耐高温CPP袋/热封CPP薄膜/哑光磨砂CPP自粘袋/防爆边CPP四方底袋/风琴立体袋全品类专业生产厂家 - 甄选服务推荐
  • 江西地区科研工业物资供应商品质排行及实测对比 - 奔跑123
  • 2026广东女子职业技术学院附近驾校排行情况梳理 - 奔跑123
  • 2026上海ECTN办理机构推荐榜 - 互联网科技品牌测评
  • 人工智能毕业设计2026课题怎么做
  • ollama v0.32.0发布:交互式智能体正式上线,命令行入口彻底升级,ChatGPT集成更名,旧模型启动前新增弃用警告
  • 小白也能照着做:Claude Code macOS安装与模型配置全流程(少踩坑版)
  • 2026 年新发布:温岭比较好的热浸塑螺旋钢管制造厂有哪些,防腐蚀性能远超预期,它真的能扛住海底高压吗 - 行业推荐官【官方】
  • 2026年 PPH聚丙烯搅拌罐厂家推荐榜单:立式/卧式/平底/加厚耐腐蚀化工罐,一体成型多规格可定制实力品牌深度解析 - 甄选服务推荐
  • RAG上线惨败?8个细节问题让准确率飙升32%,附零代码排查清单!
  • 2026解析浙江哪里有靠谱的伺服超声波塑料焊接机厂家 - 奔跑123
  • 卡地亚保养费用标准与售后维修服务指南权威公示(2026年7月最新) - 卡地亚官方售后中心
  • 2026选购真空干燥箱要关注哪些核心参考要点? - 奔跑123
  • 2026年工业品网络推广技术拆解与靠谱服务商解析 - 奔跑123
  • RAG知识库搭建与调优:向量检索、切片策略与幻觉治理全攻略(2026版)