React Native项目Could not resolve all files for configuration 无法解析配置“:app:debugRuntimeClasspath”的所有文件
•
移动开发
在新建react native项目运行时,gradle下载文件报错
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'. > Failed to transform kotlinx-serialization-json-jvm-1.4.1.jar (org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.4.1) to match attributes {artifactType=android-java-res, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
踩坑过程
- 想着既然是 无法解析配置,不能匹配,那我就手动下一个kotlinx-serialization-json-jvm-1.4.1.jar ,然后放在了gradle对应的文件夹中,但是依然报错
- 删除了kotlinx-serialization-json-jvm文件夹贺gradle的cache文件夹,想着让gradle重新拉取以下文件,依然报错
- 查询其他类似经历后感觉还是出问题在下载不到文件的问题,我用的代理可能网络不太问题。为了解决这个问题我在.gradle文件下新建了一个init.gradle文件,在里面加上了阿里云的maven仓库,配置如下
allprojects{
repositories {
def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/central/'
def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/public/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('http://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
if (url.startsWith('https://jcenter.bintray.com/') || url.startsWith('http://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
remove repo
}
}
}
maven {
url ALIYUN_REPOSITORY_URL
url ALIYUN_JCENTER_URL
url 'https://maven.aliyun.com/repository/google/'
url 'https://maven.aliyun.com/repository/gradle-plugin/'
}
}
buildscript{
repositories {
def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/central/'
def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/public/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('http://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
if (url.startsWith('https://jcenter.bintray.com/') || url.startsWith('http://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
remove repo
}
}
}
maven {
url ALIYUN_REPOSITORY_URL
url ALIYUN_JCENTER_URL
url 'https://maven.aliyun.com/repository/google/'
url 'https://maven.aliyun.com/repository/gradle-plugin/'
}
}
}
}
在工程文件对应的build.gradle文件中也加上阿里云的镜像库
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
google()
mavenCentral()
jcenter()
}
注意
在更换了maven库后再运行项目,可能还会报错说某个文件夹不能删除,可能是因为换了maven库后有些文件和之前的不同,需要重新下载。而.gradle文件夹默认在C的的用户路径下,没有管理员权限删不掉。手动定位到文件夹删除后,重新运行项目就可以了。
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/1dd5cd48c7.html
