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. 勾选这个复选框,然后点击 OK 或 Apply。这样就永久性地开启了全局离线模式,直到你回来取消勾选。

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

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

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

重要注意事项和使用场景

  • 用途:

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

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

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

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

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

相关推荐
疯华整猫5 小时前
否决 Flutter 提案那天,我发现自己也说不清 Framework 管什么
android
传奇开心果编程17 小时前
【Flutter踩坑排雷】第25课:ScrollController 误用坑|跳转失效、监听泄漏与“控制器未附加”
android·flutter·ios·移动开发·跨平台·dart·声明式ui
慕容雪_21 小时前
Capacitor8-Android打包完整手册
android·打包·capacitor
阿杰m1 天前
Android源码第十三章:Bluetooth——沿一次发现走到控制器
android
booboosui1 天前
派活给另一个 AI:前后两次文件夹快照,就是交付清单
android
普通人61 天前
MySQL_FIND_IN_SET函数详解
android·数据库·mysql
好的佩奇2 天前
Dart 之集合元素
android·flutter·dart
Easyhood2 天前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
FlightYe2 天前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
疯华整猫2 天前
删掉 LeakCanary 那天,我用 Trae 自己撸了一套:最难的不是分析堆,是决定什么时候 dump
android·人工智能·性能优化