我的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
。但是
repositories
部分已经包含google()
google()
已经出现在jcenter()
之前来自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()
}
}
它可能相关也可能不相关,尽管我当然觉得很奇怪,但在我看来,它似乎可以成功地为 other 依赖项下载相同的东西:
$ 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
答案 0 :(得分:2)
就我而言,它与Fabric模块有关,
我导入的Fabric模块的版本是0.5.2(也有问题0.5.1)
我解决了此问题,将Fabric模块的版本从0.5.2降级到0.5.0
构建成功后,将在.gradle / ..中创建.jar文件。
所以我可以再次使用0.5.2版本,
我认为它可能与模块的版本有关
答案 1 :(得分:1)
在您的react-native项目的android文件夹中运行以下命令:
"./gradlew build --refresh-dependencies"
这样,您可以在build.gradle中找到哪个节点模块有问题。 我发现此问题是由bu react-native-share模块引起的。所以我将package.json中的版本更新为1.1.3,以实现react-native-share。 另一种选择是更新/ node-modules / react-native-share / android /中的build.gradle文件,并将google()移至jcenter()之上
答案 2 :(得分:0)
正如您所说,通常的解决方案是将google()
添加到存储库部分。这实际上在这里也适用。
您只需要转到node_modules
-> react-native-document-scanner
-> android
-> build.gradle
在那里,您需要修改buildscript部分,如下所示:
buildscript {
repositories {
maven {
url 'https://maven.google.com/'
name 'Google'
}
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}
您可能在Google上方有jcenter()
。 google()
与
maven {
url 'https://maven.google.com/'
name 'Google'
}