Android Gradle - 一些 Gradle 的碎片知识(Android Gradle Plugin、namespace、package 属性、模块打包)
2026/7/15 0:58:34 网站建设 项目流程

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 # 调试版

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询