Android Studio如何开启离线编译模式

在 Android Studio 中开启离线模式(Offline Mode)非常简单。离线模式会强制 Gradle 构建系统仅使用本地已缓存的项目和依赖,而不会尝试访问网络下载任何缺失的依赖项。

以下是开启离线模式的几种方法:

方法一:通过 Gradle 工具栏(最常用)

  1. 在 Android Studio 的右侧,找到并点击 Gradle 面板。如果没看到,可以通过菜单栏 View -> Tool Windows -> Gradle 来打开它。

  2. 在 Gradle 面板的顶部,你会看到一系列按钮。找到并点击 Toggle Offline Mode 按钮(图标是一个带插头的云端)。

    • 点击后图标变为蓝色并带有下划线 :表示离线模式已开启
    • 再次点击 :图标恢复原状,表示离线模式已关闭

方法二:通过设置/偏好设置(永久性设置)

如果你想做一个更持久的设置,可以在配置中进行:

  1. 打开设置对话框:

    • 在 Windows/Linux 上: File -> Settings
    • 在 macOS 上: Android Studio -> Preferences
  2. 在设置窗口中,导航到:
    Build, Execution, Deployment -> Build Tools -> Gradle

  3. 在右侧的 Global Gradle settings 区域,你会找到一个复选框:
    Offline work

  4. 勾选这个复选框,然后点击 OKApply。这样就永久性地开启了全局离线模式,直到你回来取消勾选。

如何验证离线模式是否已开启?

无论用哪种方法开启,成功启用后你都会在 Android Studio 的状态栏(Status Bar) 中看到一个提示。

状态栏会明确显示 Gradle offline mode is enabled

重要注意事项和使用场景

  • 用途

    • 网络连接不稳定或完全断开时进行构建。
    • 确保构建完全依赖于本地缓存,避免因网络仓库的临时问题导致构建失败。
    • 防止 Gradle 在构建时意外检查依赖更新(特别是对 SNAPSHOT 版本)。
  • 前提条件在开启离线模式之前,你必须确保所有需要的依赖都已经成功下载到本地 Gradle 缓存中(通常通过一次成功的在线同步或构建来完成)。如果某个依赖在本地缓存中不存在,构建将会失败并报错,提示找不到该依赖。

  • SNAPSHOT 版本 :请注意,即使开启了离线模式,Gradle 仍然会使用本地缓存中的 SNAPSHOT 版本依赖,但它无法检查也无法获取远程仓库中更新的 SNAPSHOT 版本

  • 命令行构建 :如果你在终端中使用 gradlew 命令进行构建,离线模式的设置(来自方法二)同样会生效。你也可以在命令后直接加上 --offline 参数来临时启用离线模式:

    bash 复制代码
    ./gradlew assembleDebug --offline

总结 :对于临时开关,推荐使用方法一 (Gradle 面板的Toggle按钮);如果你想长期在离线环境下工作,则可以使用方法二(设置中勾选)。开启后务必留意状态栏的提示。

相关推荐
2601_9637713712 小时前
Offloading WP-Cron and Securing Ticket Webhooks on Enterprise IT Sites
android
花燃柳卧13 小时前
跨平台路由组件工程源码补充上传
android·flutter·kotlin
apihz13 小时前
随机驾考题目(C 照科一 / 科四 2000+ 题)免费API调用教程
android·java·c语言·开发语言·网络协议·tcp/ip
宸翰13 小时前
uni-app 设置 Android 底部虚拟导航栏背景色
android·前端·uni-app
TechNomad14 小时前
Kotlin类对象与接口详解
android·kotlin
QiLinkOS19 小时前
QiLink OS的失败数据共享平台的运作模式是否适用于所有行业?
android·开发语言·人工智能·算法·重构·开源
杉氧19 小时前
Framework 补完计划 (2):BufferQueue 与 SurfaceFlinger —— 像素的跨进程“接力赛”
android·架构·android jetpack
牢七19 小时前
RCE?复现成功
android
一化十19 小时前
Android16 自定义全局手势 任意界面依次点击屏幕四个角返回Home界面
android
三少爷的鞋21 小时前
Android 面试系列:Kotlin 协程的 delay 到底发生在哪个线程?
android