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

打印 上一主题 下一主题

主题 981|帖子 981|积分 2943

目次
错误信息剖析
解决方案
1. 检查依赖版本
2. 检查 Maven 仓库设置
3. 强制刷新 Gradle 缓存
4. 检查网络连接
5. 手动下载依赖
总结
相关推荐

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


  1. FAILURE: Build completed with 14 failures.
  2. 1: Task failed with an exception.
  3. -----------
  4. * What went wrong:
  5. Execution failed for task ':app:checkCommonDebugAarMetadata'.
  6. > Could not resolve all files for configuration ':app:commonDebugRuntimeClasspath'.
  7.    > Could not find com.gyf.immersionbar:immersionbar:3.0.0.
  8.      Searched in the following locations:
  9.        - https://dl.google.com/dl/android/maven2/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom
  10.        - https://jcenter.bintray.com/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom
  11.        - https://repo.maven.apache.org/maven2/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom
  12.        - https://jitpack.io/com/gyf/immersionbar/immersionbar/3.0.0/immersionbar-3.0.0.pom
  13.      Required by:
  14.          project :app
  15.    > Could not find com.tencent:mmkv:1.0.19.
  16.      Searched in the following locations:
  17.        - https://dl.google.com/dl/android/maven2/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom
  18.        - https://jcenter.bintray.com/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom
  19.        - https://repo.maven.apache.org/maven2/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom
  20.        - https://jitpack.io/com/tencent/mmkv/1.0.19/mmkv-1.0.19.pom
  21.      Required by:
  22.          project :app > com.gitee.zhang-yanqiang:easypermission:v2.0.12
  23. * Try:
  24. > Run with --stacktrace option to get the stack trace.
  25. > Run with --info or --debug option to get more log output.
  26. > Run with --scan to get full insights.
  27. ==============================================================================
复制代码

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

1. 检查依赖版本

        起首,我们需要确保 immersionbar 库的版本号是正确的。在很多时候,问题大概是因为指定的版本号不存在,大概该版本的库被移除了。检查一下 build.gradle 文件中的依赖部分,确保版本号正确。
        比方,可以尝试使用稍新的版本,大概回退到较为稳固的版本:
  1. dependencies {
  2.     implementation 'com.gyf.immersionbar:immersionbar:3.0.1'
  3. }
复制代码
        如果 3.0.0 版本存在问题,尝试更新为 3.0.1 或其他稳固版本,其他SDK大概能解决这个问题(该库换了引用地址,单纯的改版本无效)。
2. 检查 Maven 仓库设置

        另一个大概导致问题的原因是仓库设置不正确。确保你的项目的 build.gradle 文件(通常是项目级 build.gradle)中设置了正确的仓库地址。默认环境下,Android Studio 会使用 Google 的 Maven 仓库和 Maven Central,但如果没有正确设置,大概导致无法下载依赖。
        确保 repositories 块包括以下内容:
  1. allprojects {
  2.     repositories {
  3.         google()
  4.         mavenCentral()
  5.         maven { url 'https://jitpack.io' }  // Jitpack 是常见的 Android 库托管平台
  6.     }
  7. }
复制代码
        高级AGP在项目级 settings.gradle。
  1. pluginManagement {
  2.     repositories {
  3.         google()
  4.         mavenCentral()
  5.         gradlePluginPortal()
  6.     }
  7. }
  8. dependencyResolutionManagement {
  9.     repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  10.     repositories {
  11.         google()
  12.         mavenCentral()
  13.         maven { url 'https://jitpack.io' }
  14.     }
  15. }
复制代码
        添加 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 文件中引用:
  1. dependencies {
  2.     implementation files('libs/immersionbar-3.0.0.jar')
  3. }
复制代码
总结

        作者是因为 immersionbar 换了路径,因此更换i mmersionbar 路径,重新引用 mmkv 解决当前问题:
  1. dependencies {
  2.     implementation 'com.geyifeng.immersionbar:immersionbar:3.2.2'
  3.     implementation 'com.tencent:mmkv:1.3.9'  
  4. }
复制代码
        当你在 Android Studio 中遇到类似的构建问题时,通常是由于依赖版本、仓库设置大概网络连接问题导致的。通过渐渐排查版本号、仓库设置、Gradle 缓存等问题,大多数依赖问题都可以得到解决。如果以上步调仍无法解决问题,可以尝试手动下载依赖并添加到项目中。
相关推荐

Android Studio中的 Image Asset Studio(图标天生工具)-CSDN博客文章浏览阅读1.7w次,点赞20次,收藏44次。Android Studio 包含一个名为 Image Asset Studio 的工具,它可以帮我们把自定义图像、系统图标素材、文本字符串自动天生适配系统的应用图标。_android studio image asset
https://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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

风雨同行

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表