android - Gradle 尝试从错误的存储库下载
问题描述
我的 Android APP 仅指向我的内部 Artifactory。但是当它尝试从 jcenter.bintray 下载 play-services-base 时构建中断
有趣的是,无论是在项目级别还是模块/应用程序级别,我都不会在 build.gradle 中引用 jcenter。
play-services-base 在我的 jfrog 中可用。
我尝试先运行 ./gradlew 任务以强制 gradle 在构建之前下载依赖项。
在我的项目级别 build.gradle
allprojects {
apply plugin: "com.jfrog.artifactory"
...
repositories {
maven {
url "${rootDir}/react-native/android"
}
maven {
url 'http://fakeurl/from_artifactory/repository'
credentials {
username = "fakeuser"
password = "fakepassword"
}
}
}
}
build.gradle 模块级别
api "com.google.android.gms:play-services-gcm:$gcm_version"
api "com.google.android.gms:play-services-maps:$gcm_version"
api "com.google.android.gms:play-services-vision:$gcm_version"
api 'com.google.android.gms:play-services-analytics:16.0.3'
错误:
> Could not resolve com.google.android.gms:play-services-base:[15.0.1,16.0.0).
Required by:
project :module1 > project :module2 > com.google.android.gms:play-services-gcm:15.0.1
project :module1 > project :module2 > com.google.android.gms:play-services-maps:15.0.1
project :module1 > project :module2 > com.google.android.gms:play-services-vision:15.0.1
project :module1 > project :module2 > com.google.android.gms:play-services-gcm:15.0.1 > com.google.android.gms:play-services-iid:15.0.1
project :module1 > project :module2 > com.google.android.gms:play-services-vision:15.0.1 > com.google.android.gms:play-services-vision-common:15.0.1
project :module1 > project :module2 > com.google.android.gms:play-services-vision:15.0.1 > com.google.android.gms:play-services-vision-common:15.0.1 > com.google.android.gms:play-services-clearcut:15.0.1
project :module1 > project :module2 > com.google.android.gms:play-services-vision:15.0.1 > com.google.android.gms:play-services-vision-common:15.0.1 > com.google.android.gms:play-services-clearcut:15.0.1 > com.google.android.gms:play-services-phenotype:15.0.1
166 actionable tasks: 166 executed
> Failed to list versions for com.google.android.gms:play-services-base.
> Unable to load Maven meta-data from https://jcenter.bintray.com/com/google/android/gms/play-services-base/maven-metadata.xml.
> Could not get resource 'https://jcenter.bintray.com/com/google/android/gms/play-services-base/maven-metadata.xml'.
> Could not GET 'https://jcenter.bintray.com/com/google/android/gms/play-services-base/maven-metadata.xml'.
> Connect to jcenter.bintray.com:443 [jcenter.bintray.com/52.40.226.158, jcenter.bintray.com/52.11.213.218] failed: connect timed out
解决方案
我没有看到您在 build.gradle 中有“play-services-base”作为要求,所以我猜它是您正在提取的一个或多个包的依赖项。我的猜测是,您要提取的其中一个包的“pom.xml”文件将此包作为依赖项引用,并将 JCenter URL 硬编码为“pom.xml”。您将需要找到这个“pom.xml”文件并将 URL 从 JCenter 更改为您的 Artifactory 实例。
推荐阅读
- sql - 使用“>”约束从现有表创建新表
- node.js - Ionic 全局安装在节点模块中,但我收到:-bash: ionic: command not found
- ionic-framework - 从mac到windows的离子项目
- python - 向 skimage 中的图像帧添加高斯噪声
- html - 如何将单选按钮水平放置?
- matlab - 如何将向量中的每个元素乘以MATLAB中另一个向量的所有元素
- gradle - 如何使用 gradle 为分离的子项目依赖配置 IDEA
- javascript - 无法准确定位到画布
- python - for循环中的for循环获取无效语法
- deep-learning - 对于 3 维数据集,拟合超平面所需的最小点数是多少?