No cached version of xxx available for offline mode

在Android Studio 4.0及以上版本中,Gradle不再作为独立设置项,要切换到离线模式,需在右侧Gradle面板内进行操作。通过点击Gradle图标,然后在弹出的设置中选择离线模式。

No cached version of xxx available for offline mode.

在Android studio 4.0以上版本,在File -> Settings -> Build, Execution,Deployment->Gradle->
已经没有offline这个选项了
android studio 2-3
Android Studio Arctic Fox
在高版本的Android studio 中gradle作为 idea 的一个插件。在android studio 右侧菜单中出现,如果需要切换离线模式,需要在右侧栏点击gradle图标,在弹出栏中设置
切换离线模式
在这里插入图片描述

这个错误: ``` No cached version of androidx.compose.ui:ui:1.9.1 available for offline mode. ``` 意味着 **你启用了 Gradle 的“离线模式”(Offline Mode)**,但你的项目需要依赖 `androidx.compose.ui:ui:1.9.1`,而该版本 **在本地缓存中不存在**,并且由于处于离线模式,Gradle 无法从远程仓库下载它。 --- ## 🔍 错误原因分析 | 原因 | 说明 | |------|------| | ✅ 启用了 **Gradle 离线模式** | Android Studio 或命令行强制使用 `--offline` 参数 | | ❌ 缺少本地缓存的依赖包 | 之前没有下载过 `1.9.1` 版本,或缓存被清理过 | | 🔄 依赖版本是新的或未预加载 | 比如刚升级 Compose 到 `1.9.1`,但没联网下载 | > 💡 即使你曾经构建过项目,如果从未完整下载过所有变体(如 `sources`, `javadoc`, 不同架构等),也可能出现此问题。 --- ## ✅ 解决方案 ### ✅ 方案一:【推荐】临时关闭离线模式(最简单) #### 方法 1Android Studio UI 关闭 > **File → Settings → Build, Execution, Deployment → Build Tools → Gradle** 取消勾选: - ☐ **"Offline work"** (位于 "Global Gradle settings" 下) 然后点击 OK,并重新同步项目。 ✅ 同步完成后,Gradle 会自动下载 `compose-ui-1.9.1.aar` 及其 POM 文件到本地缓存。 > 路径一般为:`~/.gradle/caches/modules-2/files-2.1/androidx.compose.ui/ui/1.9.1/` --- #### 方法 2:命令行禁用离线模式 如果你是通过命令行构建: ```bash # ❌ 错误:强制离线(会导致失败) ./gradlew build --offline # ✅ 正确:允许联网下载 ./gradlew build ``` 首次构建时不要加 `--offline`。 --- ### ✅ 方案二:手动检查并删除不完整的缓存(修复损坏状态) 有时缓存目录存在但内容不完整。可以手动删除部分缓存再重试。 ```bash # 删除 compose-ui 的缓存目录 rm -rf ~/.gradle/caches/modules-2/files-2.1/androidx.compose.ui/ui/1.9.1/ ``` > Windows 用户路径示例: ``` C:\Users\<YourName>\.gradle\caches\modules-2\files-2.1\androidx.compose.ui\ui\1.9.1\ ``` 然后关闭离线模式,重新 sync,Gradle 将重新下载。 --- ### ✅ 方案三:确认依赖是否正确(避免拼写错误) 确保你在 `build.gradle.kts` 中写的版本是对的: ```kotlin implementation("androidx.compose.ui:ui:1.9.1") implementation("androidx.compose.ui:ui-tooling-preview:1.9.1") debugImplementation("androidx.compose.ui:ui-tooling:1.9.1") ``` Compose 的版本应保持统一,建议使用 BOM 控制版本一致性(见下文最佳实践)。 --- ### ✅ 方案四:使用 Compose BOM 统一管理版本(推荐做法) 使用 [Compose BOM](https://developer.android.com/jetpack/compose/bom) 来避免版本冲突和简化维护。 ```kotlin // Project-level or module-level dependencies block implementation(platform("androidx.compose:compose-bom:2024.08.00")) // BOM 控制所有 Compose 库版本 implementation("androidx.compose.ui:ui") implementation("androidx.compose.material3:material3") implementation("androidx.compose.ui:ui-tooling-preview") debugImplementation("androidx.compose.ui:ui-tooling") ``` 这样就不需要为每个库指定版本号,且能保证兼容性。 > 💡 当前最新 BOM 是 `2024.08.00`,对应 Compose `1.9.1`。 --- ### ✅ 方案五:提前预下载所有依赖(用于离线开发准备) 如果你想以后长期使用离线模式,可以在有网络时预先下载所有依赖: ```bash # 清理并重新下载所有依赖 ./gradlew clean build --no-daemon ``` 之后再开启离线模式即可正常使用。 --- ## ⚙️ 如何验证已解决? 成功后,你应该能在以下路径找到文件: ``` ~/.gradle/caches/modules-2/files-2.1/androidx.compose.ui/ui/1.9.1/ ├── <hash>/compose-ui-1.9.1.aar ├── <hash>/compose-ui-1.9.1.pom ``` 这表示依赖已缓存。 --- ## 🛠️ 补充建议 | 建议 | 说明 | |------|------| | 定期更新 Gradle 和 AGP | 使用稳定版工具链减少兼容问题 | | 避免长期使用 `--offline` | 仅在确定所有依赖都已缓存时使用 | | 使用镜像仓库加速下载 | 如阿里云、腾讯云 Maven 镜像 | 例如添加镜像源: ```kotlin // settings.gradle.kts dependencyResolutionManagement { repositories { google() mavenCentral() // 添加阿里云镜像加速 maven { url = uri("https://maven.aliyun.com/repository/google") } maven { url = uri("https://maven.aliyun.com/repository/public") } } } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值