编译报错 Error:Could not find common.jar (android.arch.core:common:1.0.0).

jcenter已经删掉了android.arch.core库,所以需要从 maven { url "https://maven.google.com" }中获取android.arch.core:common-1.1.0.jar

类似下面这种情况的,把顺序调整一下就就行了

 

allprojects {
    repositories {
        jcenter()
        google()
        mavenCentral()
    }

}

 

变为

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }

}
<think>我们正在处理一个关于Android构建错误的问题:Could not find androidx.arch.core:core-compiler:2.1.0 这个错误通常发生在Gradle无法从配置的仓库中找到指定的依赖项时。可能的原因包括: 1. 依赖项的版本号不正确或不存在。 2. 仓库配置中没有包含提供该依赖的仓库(比如Google的Maven仓库)。 3. 网络问题导致无法下载。 首先,我们检查一下这个依赖项是否存在。在AndroidX的官方文档中,我们通常可以在https://developer.android.com/jetpack/androidx/releases/arch 找到相关的组件和版本。 但是,请注意:`core-compiler`这个artifactId在常见的AndroidX库中并不存在。常见的包括`core`、`core-common`、`core-runtime`等,而`core-compiler`可能是一个错误。 根据经验,我们可能需要的依赖是`androidx.arch.core:core-testing`或`androidx.arch.core:core-common`等。但是,用户的问题中提到了`core-compiler`,这可能是由于依赖配置错误导致的。 因此,解决方案可能包括: 1. 检查依赖的artifactId是否正确。通常,我们不会使用`core-compiler`,而是使用其他名称。 2. 确保在项目的build.gradle文件中配置了Google的Maven仓库。 让我们逐步解决: 步骤1:检查项目级build.gradle文件中的仓库配置 在项目的build.gradle(通常是项目根目录下的build.gradle)中,确保有google()和jcenter()(或者mavenCentral())仓库。 例如: ```groovy allprojects { repositories { google() jcenter() // 或者使用 mavenCentral() } } ``` 步骤2:检查模块级build.gradle文件中的依赖 确认依赖项是否正确。对于`androidx.arch.core`,常见的依赖项是: - `androidx.arch.core:core-runtime:2.1.0` - `androidx.arch.core:core-common:2.1.0` - `androidx.arch.core:core-testing:2.1.0` 但是,如果你需要的是编译器相关的,可能是注解处理器(annotation processor),那么应该使用`androidx.arch.core:core-compiler`吗?实际上,在AndroidX Arch中并没有一个名为`core-compiler`的模块。 因此,我怀疑这个依赖项可能是由其他依赖传递引入的,或者是一个配置错误。 步骤3:检查依赖传递 你可以使用Gradle命令查看依赖树,找出是谁引入了`core-compiler`: ``` ./gradlew app:dependencies --configuration debugCompileClasspath ``` (注意:将`app`替换为你的模块名称) 或者,在Android Studio中,可以通过Gradle工具窗口,点击你的模块 -> Tasks -> help -> dependencies,然后运行。 步骤4:如果确实没有这个artifactId,那么可能是你的某个依赖项错误地引用了它。你需要检查你的依赖项,特别是第三方库,看看它们是否引入了这个不存在的依赖。 步骤5:如果发现是某个第三方库引入了这个依赖,你可以使用Gradle的exclude功能来排除它: ```groovy implementation('some.library') { exclude group: 'androidx.arch.core', module: 'core-compiler' } ``` 但是,如果这个依赖项是必需的,那么排除可能会导致问题。因此,更好的办法是联系该第三方库的维护者,或者寻找替代库。 另外,根据错误信息,版本是2.1.0。我们检查一下AndroidX Arch Core的版本:在2.1.0版本中,可用的模块有: - core-common:2.1.0 - core-runtime:2.1.0 - core-testing:2.1.0 没有core-compiler。 因此,最可能的情况是你在某个地方错误地添加了依赖项,或者你的某个依赖项错误地引用了`core-compiler`。 如果你在项目中直接添加了: ```groovy implementation 'androidx.arch.core:core-compiler:2.1.0' ``` 那么请将其删除,因为它不存在。 如果你没有直接添加,而是通过其他库传递进来的,那么请按照步骤3检查依赖树。 另外,如果你在使用Room持久性库,请注意Room的依赖项中包含了arch.core,但不会包含core-compiler。 总结:首先检查依赖树,找到引入`core-compiler`的库,然后排除或者更新该库。 如果以上步骤无法解决,可以尝试清理和重新构建: - 清理项目:Build -> Clean Project - 重新构建:Build -> Rebuild Project - 或者删除.gradle.idea目录,然后重新导入项目(注意这会重置所有Gradle和IDE设置,需要重新下载依赖) 最后,如果问题仍然存在,请检查网络连接,确保可以正常访问仓库。 由于上述引用[^1]是关于Jetpack学习的,其中提到了添加gradle配置,所以我们可以参考它来检查配置。 根据引用[^1]的内容,它只是提到了添加gradle配置,但没有具体内容。因此,我们主要依靠标准做法。 希望这些步骤能帮助你解决问题。 §§相关问题§§ 1. 如何排除Gradle中的传递依赖? 2. 如何查看Gradle依赖树? 3. AndroidX Arch Core包含哪些模块? 4. 如何正确配置Room库的依赖? 5. 解决Gradle依赖冲突的方法有哪些?</think>### 解决 `Could not find androidx.arch.core:core-compiler:2.1.0` 错误 此错误通常由以下原因引起,请按步骤排查: --- ### 1. **检查仓库配置** - 在项目根目录的 `build.gradle` 文件中,确保已添加 **Google Maven 仓库**: ```groovy allprojects { repositories { google() // 必须添加 mavenCentral() } } ``` - 缺少 `google()` 仓库会导致无法下载 AndroidX 依赖[^1]。 --- ### 2. **验证依赖项是否存在** - 访问 [Maven Central 仓库](https://maven-central.com),搜索 `androidx.arch.core:core-compiler`。 - 实际发现:**`core-compiler` 模块不存在于 AndroidX Arch 组件中**。 - 正确依赖应为以下之一: ```groovy // 常见正确依赖 implementation "androidx.arch.core:core-runtime:2.1.0" implementation "androidx.arch.core:core-testing:2.1.0" ``` --- ### 3. **排查依赖传递** - 通过命令检查依赖树: ```bash ./gradlew :app:dependencies --configuration debugCompileClasspath ``` - 如果第三方库引入了错误的依赖,使用 `exclude` 排除: ```groovy implementation ("com.example.library:1.0") { exclude group: 'androidx.arch.core', module: 'core-compiler' } ``` --- ### 4. **同步与清理项目** - 执行以下操作: 1. **File > Sync Project with Gradle Files** 2. **Build > Clean Project** 3. **删除 `~/.gradle/caches` 目录**(彻底清理缓存) --- ### 5. **检查依赖版本冲突** - 在 `build.gradle` 中启用版本冲突检测: ```groovy android { configurations.all { resolutionStrategy.failOnVersionConflict() } } ``` - 冲突时 Gradle 会明确报错,需统一相关库版本。 --- ### 根本原因分析 该错误通常由以下情况触发: 1. 误写依赖名称(如 `core-compiler` 实际不存在)。 2. 第三方库引用了错误的 AndroidX 模块。 3. 项目未配置 Google Maven 仓库。 --- ### 替代解决方案 若需编译器相关功能,推荐使用: ```groovy // Room 编译器的正确写法 annotationProcessor "androidx.room:room-compiler:2.6.1" ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值