如何在Android Studio中配置离线组件以创建离线项目?
解决Android Studio离线创建项目的配置步骤
我来帮你搞定这个离线创建Android项目的问题!既然你已经下载了Android Gradle Plugin(AGP)和Google Maven依赖,那接下来就是把这些组件正确配置到Android Studio和Gradle里,一步步来:
1. 把离线组件放到Gradle缓存的正确目录
Gradle默认会把依赖缓存到本地特定目录,你需要把下载的组件放到对应位置:
- Android Gradle Plugin:
- Windows路径:
C:\Users\<你的用户名>\.gradle\caches\modules-2\files-2.1\com.android.tools.build\gradle - macOS/Linux路径:
~/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle
把你下载的AGP对应版本的文件夹(里面包含jar、pom等文件)直接放到这个目录下。
- Windows路径:
- Google Maven依赖:
同样放到上述的modules-2/files-2.1目录下,把每个依赖包(比如androidx.appcompat、com.google.android.material等)对应的版本文件夹都放进去,确保版本和你项目里要用到的一致。
2. 开启Android Studio的离线模式
让Gradle优先使用本地缓存,不再尝试联网下载:
- 打开Android Studio,点击顶部菜单栏的
File > Settings(macOS是Android Studio > Settings) - 依次展开
Build, Execution, Deployment > Build Tools > Gradle - 勾选
Offline work选项,点击Apply和OK保存设置。
3. 修改项目的Gradle配置文件,禁用远程仓库
要确保Gradle不会去远程仓库找依赖,只使用本地缓存:
- 打开项目根目录下的
build.gradle文件(注意是根目录的,不是app模块的那个) - 注释掉
buildscript和allprojects里的远程仓库配置(比如google()、mavenCentral()),示例如下:
buildscript { repositories { // 注释掉所有远程仓库 // google() // mavenCentral() } dependencies { // 这里的AGP版本要和你下载的离线组件版本完全一致 classpath "com.android.tools.build:gradle:7.4.2" } } allprojects { repositories { // 同样注释掉远程仓库 // google() // mavenCentral() } }
4. 配置Gradle Wrapper离线包(如果需要)
如果你的Gradle版本还没离线下载,需要额外配置:
- 下载对应版本的Gradle离线zip包(AGP和Gradle版本要匹配,比如AGP 7.4.2对应Gradle 7.5)
- 把zip包放到Gradle wrapper的缓存目录:
- Windows:
C:\Users\<你的用户名>\.gradle\wrapper\dists\gradle-7.5-all\<随机字符串> - macOS/Linux:
~/.gradle/wrapper/dists/gradle-7.5-all/<随机字符串>
- Windows:
- 修改项目根目录下
gradle/wrapper/gradle-wrapper.properties文件,把distributionUrl改成本地文件路径,示例:
# Windows示例 distributionUrl=file:///C:/Users/YourName/.gradle/wrapper/dists/gradle-7.5-all/gradle-7.5-all.zip # macOS/Linux示例 distributionUrl=file:///Users/YourName/.gradle/wrapper/dists/gradle-7.5-all/gradle-7.5-all.zip
5. 同步项目并排查问题
- 点击Android Studio右上角的
Sync Project with Gradle Files按钮 - 如果提示找不到某个依赖,检查两个点:
- 你是否下载了该依赖的对应版本,并且放到了正确的缓存目录
- 项目里的依赖版本(比如app模块build.gradle里的
implementation)是否和你下载的离线版本一致
小技巧:如果是新建项目,建议先在线创建一个符合你需求的项目,同步成功后把Gradle缓存目录整个备份下来,离线时直接用这个备份的缓存,能避免漏下载依赖的问题。
内容的提问来源于stack exchange,提问作者sm-sayedi




