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按钮);如果你想长期在离线环境下工作,则可以使用方法二(设置中勾选)。开启后务必留意状态栏的提示。

相关推荐
赏金术士26 分钟前
第六章:UI组件与Material3主题
android·ui·kotlin·compose
TechMerger2 小时前
Android 17 重磅重构!服役 20 年的 MessageQueue 迎来无锁改造,卡顿大幅优化!
android·性能优化
yuhuofei20214 小时前
【Python入门】Python中字符串相关拓展
android·java·python
dalancon4 小时前
Android Input Spy Window
android
dalancon6 小时前
InputDispatcher派发事件,查找目标窗口
android
我命由我123456 小时前
Android Framework P3 - MediaServer 进程、认识 ServiceManager 进程
android·c语言·开发语言·c++·visualstudio·visual studio·android runtime
天才少年曾牛7 小时前
Android14 新增系统服务后,应用调用出现 “hidden api” 警告的原因与解决方案
android·frameworks
赏金术士7 小时前
Jetpack Compose 底部导航实战教程(完整版)
android·kotlin·compose
随遇丿而安8 小时前
第5周:XML 资源、样式和主题,真正解决的是“页面以后还改不改得动”
android
zh_xuan8 小时前
Android 获取系统内存页大小:sysconf(_SC_PAGESIZE) 与 JNI 实现
android·jni·ndk·内存页大小