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

相关推荐
彭波39615 分钟前
听歌软件下载!全网音乐随便听!手机电脑+电视端!音乐播放器推荐
android·智能手机·音频·开源软件·娱乐·软件需求
江澎涌21 分钟前
鸿蒙动态导入实战
android·typescript·harmonyos
lifewange22 分钟前
SQL中的聚合函数有哪些
android·数据库·sql
NPE~34 分钟前
[App逆向]环境搭建上篇——抓取apk https包
android·教程·逆向·android逆向·逆向分析
qq_283720051 小时前
MySQL技巧(三):慢查询开启与分析优化案例
android·adb
常利兵1 小时前
从Groovy到KTS:Android Gradle脚本的华丽转身
android
穷人小水滴1 小时前
使用 WebRTC 实现局域网投屏: PC (GNOME ArchLinux) -> 平板 (Android)
android·linux·webrtc·浏览器·js·gnome·投屏
zh_xuan1 小时前
Android compose 无限滚动列表
android
诸神黄昏EX1 小时前
Android Binder 系列专题【篇六:自定义AIDL HAL进程】
android
Fate_I_C1 小时前
Android现代开发:Kotlin&Jetpack
android·开发语言·kotlin·android jetpack