环境配置
配置 gradle 源
打开 gradle/wrapper/gradle-wrapper.properties
找到distributionUrl
这一行,将其修改为国内的镜像地址。例如,使用腾讯云的镜像地址:
properties
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.11.1-bin.zip
# 或者使用阿里云 Gradle 镜像
distributionUrl=https\://mirrors.aliyun.com/gradle/gradle-8.2-all.zip
注意:URL中的斜杠需要转义,使用\代替/。
配置插件仓库源
settings.gradle.kts
文件用于配置插件仓库源。将默认的仓库地址替换为国内镜像地址,可以加速插件的下载和更新。
- 打开项目根目录下的
settings.gradle.kts
文件。 - 在
pluginManagement
和dependencyResolutionManagement
块中添加国内镜像源。例如,使用阿里云的镜像地址:
kts
pluginManagement {
repositories {
// 使用阿里云镜像替代默认仓库
maven { url=uri ("https://maven.aliyun.com/repository/google")}
maven { url=uri ("https://maven.aliyun.com/repository/central")}
maven { url=uri ("https://maven.aliyun.com/repository/gradle-plugin")}
maven { url=uri ("https://maven.aliyun.com/repository/public")}
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
# repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
// 使用阿里云镜像替代默认仓库
maven { url=uri ("https://maven.aliyun.com/repository/google")}
maven { url=uri ("https://maven.aliyun.com/repository/central")}
maven { url=uri ("https://maven.aliyun.com/repository/gradle-plugin")}
maven { url=uri ("https://maven.aliyun.com/repository/public")}
google()
mavenCentral()
gradlePluginPortal()
}
}
使用代理工具加速下载
在 gradle.properties
中加入以下:
properties
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=7890
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=7890
模块管理
默认新建的模块(File -> New -> New Module)只能全部平铺在项目根目录下,实际我们需要将多个功能模块(Module)按业务或类型归类到子文件夹中,目录结构参考如下:
csharp
MyApp (Project Root)
├── app/ # 主模块
├── features/ # 业务功能模块统一放在这个文件夹
│ ├── login/
│ ├── profile/
│ └── home/
├── libs/ # 基础库模块
│ ├── base/
│ ├── network/
│ └── ui/
├── build.gradle
├── settings.gradle
└── gradle.properties
这种情况我们可以通过 settings.gradle
配置模块路径。
Android 项目通过
settings.gradle
文件来注册所有参与构建的模块。你可以在这里指定模块的 目录路径 和 模块名称。
步骤 1:创建文件夹并移动模块
- 创建文件夹:
features/login
- 将原来的
feature-login
模块整个移动进去,重命名为login
步骤 2:在 settings.gradle
中注册模块
修改 settings.gradle
(或 settings.gradle.kts
):
gradle
include ':app'
include ':features:login'
include ':features:profile'
include ':libs:base'
include ':libs:network'
或者:
kts
include(":app")
include(":features:login")
include(":features:profile")
include(":libs:base")
include(":libs:network")
这样 Gradle 就会去对应路径查找模块:
:features:login
→features/login/
:libs:base
→libs/base/
步骤 3:确认模块内的 build.gradle
正确
确保 features/login/build.gradle
中的配置正常,比如:
gradle
android {
namespace 'com.example.login' // 包名
compileSdk 34
...
}
步骤 4:在其他模块中引用该模块
例如在 app/build.gradle
中依赖 login
模块:
gradle
dependencies {
implementation project(':features:login')
}
注意事项:
- 模块名
:
称用 - 路径是相对于项目根目录的,不需要写完整路径,Gradle 自动查找
推荐的结构:
csharp
.
├── app/ # 主应用模块
├── features/ # 业务功能模块
│ ├── auth/ # 登录/注册
│ ├── home/ # 首页
│ ├── profile/ # 个人中心
│ └── shop/ # 商城
├── libs/ # 公共库
│ ├── base/ # 基础组件(BaseActivity、Theme 等)
│ ├── network/ # 网络封装
│ ├── data/ # 数据层(Room, Repository)
│ └── ui/ # 通用 UI 组件(Compose 组件库)
├── build.gradle
├── settings.gradle(.kts)
└── gradle.properties