我的React Native构建突然失败并出现错误,尽管一天前它工作得很好,似乎没有相关的更改。
FAILURE: Build failed with an exception.
* What went wrong: A problem occurred configuring project ':react-native-document-scanner'.
> Could not resolve all artifacts for configuration ':react-native-document-scanner:classpath'.
> Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2).
Searched in the following locations:
https://jcenter.bintray.com/com/android/tools/lint/lint-gradle-api/26.1.2/lint-gradle-api-26.1.2.jar类似的问题以前已经被问过几次了,但通常的解决方案是将google()添加到repositories部分。然而,
已包含google()
google()的repositories部分已显示在jcenter()之前的
repositories部分来自build.gradle的代码片段
buildscript {
repositories {
// ...
google()
maven { url 'https://maven.google.com' }
mavenLocal()
mavenCentral()
maven { url "https://jitpack.io" }
jcenter()
}
}
// ...
allprojects {
repositories {
// ...
google()
mavenLocal()
mavenCentral()
maven { url "https://jitpack.io" }
jcenter()
}
}它可能相关,也可能不相关,尽管我确实发现它很奇怪,但在我看来,它似乎成功地为其他依赖项下载了相同的东西:
$ ls ~/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-gradle-api/26.1.2/*
/home/petter/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-gradle-api/26.1.2/8c54aedfe9da66e64402de04883cee083c127a3b:
lint-gradle-api-26.1.2.jar
/home/petter/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-gradle-api/26.1.2/f68c47a57523ed87b225532b98f2dd2ece9552bb:
lint-gradle-api-26.1.2.pom发布于 2018-10-24 09:34:38
在我的例子中,它与Fabric模块相关,
我导入的Fabric模块的版本是0.5.2 (也有问题0.5.1)
我解决了这个问题,将Fabric模块的版本从0.5.2降级到0.5.0
构建成功后,将在.gradle/.下创建.jar文件。
所以我可以再次使用0.5.2版本,
我认为它可以与模块的版本相关
发布于 2018-11-18 11:03:53
在react-native项目的android文件夹中运行以下命令:
"./gradlew build --refresh-dependencies"通过这种方式,您可以找到build.gradle中哪个节点模块有问题。我发现这个问题是由react-native-share模块引起的。所以我在package.json中将react-native-share的版本更新到了1.1.3。另一种方法是更新/node-modules/react-native-share/android/中的build.gradle文件,并将google()移到jcenter()
发布于 2018-11-21 00:23:28
正如您所说,通常的解决方案是将google()添加到存储库部分。这实际上也适用于这里。您只需转到您的node_modules -> react-native-document-scanner -> android -> build.gradle,您需要修改构建脚本部分,如下所示:
buildscript {
repositories {
maven {
url 'https://maven.google.com/'
name 'Google'
}
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}你可能会把jcenter()放在谷歌上面。google()也是一样的
maven {
url 'https://maven.google.com/'
name 'Google'
}https://stackoverflow.com/questions/52958972
复制相似问题