当前位置: 首页 > article >正文

Android 项目依赖库无法找到的解决方案

目录

错误信息解析

解决方案

1. 检查依赖版本

2. 检查 Maven 仓库配置

3. 强制刷新 Gradle 缓存

4. 检查网络连接

5. 手动下载依赖

总结

相关推荐


        最近,我在编译一个 Android 老项目时遇到了一个问题,错误信息显示无法找到 com.gyf.immersionbar:immersionbar:3.0.0 这个依赖。经过一些排查和调试,我找到了几种解决方法,今天就来分享一下如何解决这个问题。

错误信息解析

FAILURE: Build completed with 14 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:checkCommonDebugAarMetadata'.
> Could not resolve all files for configuration ':app:commonDebugRuntimeClasspath'.
   > Could not find com.gyf.immersionbar:immersionbar:3.0.0.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom
       - https://jcenter.bintray.com/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom
       - https://repo.maven.apache.org/maven2/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom
       - https://jitpack.io/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom
     Required by:
         project :app
   > Could not find com.tencent:mmkv:1.0.19.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom
       - https://jcenter.bintray.com/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom
       - https://repo.maven.apache.org/maven2/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom
       - https://jitpack.io/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom
     Required by:
         project :app > com.gitee.zhang-yanqiang:easypermission:v2.0.12

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================

        从错误信息中可以看出,Gradle 无法在常见的 Maven 仓库中找到指定版本的 immersionbar 依赖库。具体的错误是它无法解析 com.gyf.immersionbar:immersionbar:3.0.0,说明该依赖在指定的仓库中不存在,或者配置出现了问题。

解决方案

1. 检查依赖版本

        首先,我们需要确保 immersionbar 库的版本号是正确的。在很多时候,问题可能是因为指定的版本号不存在,或者该版本的库被移除了。检查一下 build.gradle 文件中的依赖部分,确保版本号正确。

        例如,可以尝试使用稍新的版本,或者回退到较为稳定的版本:

dependencies { 
    implementation 'com.gyf.immersionbar:immersionbar:3.0.1' 
}

        如果 3.0.0 版本存在问题,尝试更新为 3.0.1 或其他稳定版本,其他SDK可能能解决这个问题(该库换了引用地址,单纯的改版本无效)。

2. 检查 Maven 仓库配置

        另一个可能导致问题的原因是仓库配置不正确。确保你的项目的 build.gradle 文件(通常是项目级 build.gradle)中配置了正确的仓库地址。默认情况下,Android Studio 会使用 Google 的 Maven 仓库和 Maven Central,但如果没有正确配置,可能导致无法下载依赖。

        确保 repositories 块包括以下内容:

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }  // Jitpack 是常见的 Android 库托管平台
    }
}

        高级AGP在项目级 settings.gradle。

pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }

}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}

        添加 maven { url 'https://jitpack.io' } 可以解决一些第三方库的下载问题,特别是当它们托管在 Jitpack 上时。

3. 强制刷新 Gradle 缓存

        有时候 Gradle 会缓存旧的依赖信息,导致无法找到最新版本的库。为了避免缓存问题,可以通过以下命令强制 Gradle 刷新缓存并重新构建项目。

        Android Studio -->Build-->Clean Project。

        Android Studio -->Build-->Rebuild Project。

        清除缓存,重新编译,分别尝试一下。

        此外,你也可以在 Android Studio 中选择 File -> Invalidate Caches / Restart,然后选择 Invalidate and Restart,这样会清除缓存并重新启动 IDE。

4. 检查网络连接

        如果你所在的网络环境对 Maven 仓库的访问有所限制,可能会导致依赖下载失败。例如,如果你在国内,访问外部 Maven 仓库(如 Maven Central 或 Jitpack)可能会受到一些限制。

        在这种情况下,可以尝试使用国内的 Maven 镜像,或者配置 HTTP 代理来确保可以顺利访问依赖库。

5. 手动下载依赖

        如果以上方法都不起作用,作为最后的手段,你可以手动下载 immersionbar 的 JAR 文件,然后将其放入项目的 libs 目录中。

        首先,从其他源下载 immersionbar 的 JAR 文件,然后将 JAR 文件放入 libs 目录下,最后在 build.gradle 文件中引用:

dependencies { 
    implementation files('libs/immersionbar-3.0.0.jar') 
}

总结

        作者是因为 immersionbar 换了路径,因此更换i mmersionbar 路径,重新引用 mmkv 解决当前问题:

dependencies { 
    implementation 'com.geyifeng.immersionbar:immersionbar:3.2.2'
    implementation 'com.tencent:mmkv:1.3.9'  
}

        当你在 Android Studio 中遇到类似的构建问题时,通常是由于依赖版本、仓库配置或者网络连接问题导致的。通过逐步排查版本号、仓库配置、Gradle 缓存等问题,大多数依赖问题都可以得到解决。如果以上步骤仍无法解决问题,可以尝试手动下载依赖并添加到项目中。

相关推荐

Android Studio中的 Image Asset Studio(图标生成工具)-CSDN博客文章浏览阅读1.7w次,点赞20次,收藏44次。Android Studio 包含一个名为 Image Asset Studio 的工具,它可以帮我们把自定义图像、系统图标素材、文本字符串自动生成适配系统的应用图标。_android studio image assethttps://shuaici.blog.csdn.net/article/details/119670733高效开发-Android Studio自动补全-CSDN博客文章浏览阅读3.4k次,点赞5次,收藏13次。判断是否为空:变量.null+Enter。注意:只要 if (expr == null) 出现就可以 enter(回车) 了。其他相同。判断是否非空:变量.notnull+Enter。变量.nn+Enter(简单版)。本身for循环。变量for循环。变量倒序for循环。_android 自动补齐类型强制转化https://shuaici.blog.csdn.net/article/details/121095525


http://www.kler.cn/a/399141.html

相关文章:

  • MYSQL_深入理解自连接_图书借阅情况(2/2)
  • 第 17 章 - Go语言 上下文( Context )
  • 【Fargo】23:采集时间转rtp时间
  • mybatis 动态SQL语句
  • 红外遥控信号解码
  • 后台管理系统(开箱即用)
  • 活着就好20241118
  • 海康IPC接入TRTC时,从海康中获取的数据显示时色差不正确
  • 使用 PyTorch 实现 AlexNet 进行 MNIST 图像分类
  • 从零开始学习 sg200x 多核开发之 milkv-duo256 编译运行 sophpi
  • Visual Studio 2022 安装
  • RabbitMQ 在 Java 和 Spring Boot 中的应用详解
  • 工厂模式-工厂方法模式实现
  • C语言进阶3:字符串+内存函数
  • Qt 每日面试题 -10
  • Oracle OCP认证考试考点详解082系列19
  • 【微服务】SpringBoot 整合ELK使用详解
  • git入门环境搭建和gui使用
  • 《目标检测》R-CNN网络基础(RCNN,Fast-RCNN)
  • 笔记01----Transformer高效语义分割解码器模块DEPICT(即插即用)
  • 【配置后的基本使用】CMake基础知识
  • opc da 服务器数据 转 IEC61850项目案例
  • 人工智能+辅助诊疗
  • 雨晨 Hotpatch 24H2 Windows 11 iotltsc2024 极简版 26100.2240
  • 十五届蓝桥杯赛题-c/c++ 大学b组
  • R语言机器学习与临床预测模型77--机器学习预测常用R语言包