安卓开发中找不到三方库的解决方法

在我最近更换电脑并配置好开发环境后,从代码仓库拉取分支时解决完其他报错之后就持续出现这样的错误,类似这种:

> Could not resolve all files for configuration:……

                ……

        > Could not find push-6.12.0.300.aar (com.huawei.hms:push:6.12.0.300).
          Searched in the following locations:
            ……

然后下面一堆这种东西:

Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ': ……

Caused by: org.gradle.internal.resolve.ArtifactNotFoundException: Could not find agconnect-core-1.7.2.300.jar (com.huawei.agconnect:agconnect-core:1.7.2.300).

Caused by: org.gradle.internal.resolve.ArtifactNotFoundException: Could not find agconnect-core-1.7.2.300.jar (com.huawei.agconnect:agconnect-core:1.7.2.300).

        总之就是在Gradle 构建时无法找到 com.huawei.agconnect:agconnect-core:…… 的依赖或者说是无法从配置的仓库中解析到该依赖。

        首先检查下项目中的build.gradle文件类似是这样的:

allprojects {
    repositories {
    
        mavenCentral()
        maven { …… }
        google()
        ……
        maven { url 'https://developer.huawei.com/repo/' } // 华为官方仓库
    }
}

        这样本身是没问题的,因为Gradle 在解析依赖时,会按照 repositories 中定义的顺序依次查找依赖。如果某个依赖在第一个仓库中找到,Gradle 就不会继续查找后续的仓库。而且项目在所有其他的电脑上运行也都是没有问题的,所以我就把配置华为仓库代码放到了repositories的第一行,结果项目就水灵灵的跑起来了,没有任何问题。

        但是只要把配置代码恢复原样,就还是会报一摸一样的错,我寻思那也不能每次写代码的时候都改一下配置再写,万一哪天忘记改回去提交了影响远程仓库的代码那就不太好了,于是我就找了几种针对本地环境的解决方案,确保不修改仓库代码:如下:

1. 使用 init.gradle 配置全局仓库

在本地配置全局的 init.gradle 文件,确保 Gradle 优先从华为仓库查找依赖。

操作步骤:
上找到或创建 Gradle 的全局配置文件:

文件路径:~/.gradle/init.gradle(用户主目录下的 .gradle 文件夹)。

在 init.gradle 中添加以下内容:

allprojects {
    repositories {
        maven { url 'https://developer.huawei.com/repo/' }
        mavenCentral()
        google()
    }
}

2、使用本地 gradle.properties 文件

在本地配置 gradle.properties 文件,动态调整仓库顺序。

操作步骤:
找到或创建 Gradle 的本地配置文件:文件路径:~/.gradle/gradle.properties(用户主目录下的 .gradle 文件夹)。在 gradle.properties 中添加以下内容:

systemProp.gradle.repositories=huawei,central,google
systemProp.gradle.repository.huawei.url=https://developer.huawei.com/repo/
systemProp.gradle.repository.central.url=https://repo.maven.apache.org/maven2/
systemProp.gradle.repository.google.url=https://maven.google.com/

然后重新运行

3、手动下载依赖并添加到本地 Maven 仓库

操作步骤:

  1. 在可以运行的电脑上找到所需的依赖文件(通常位于 ~/.gradle/caches/modules-2/files-2.1)。
  2. 将这些文件复制到不能正常运行电脑的相同路径下。
  3. 重新运行 Gradle 构建

方法二我试过没有生效,方法三暂时没试,方法一是可以实现的,大家可以试试看,或者有没有更好的解决方法欢迎交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值