React Native运行Android报错:找不到common.jar(android.arch.core:common:1.0.0)
嘿,我之前也碰到过这个一模一样的问题,这是因为旧版本的react-native-device-info依赖的Android架构组件包已经从jcenter迁移到Google Maven,再加上jcenter现在已经停止维护,导致构建时找不到对应的jar包。给你几个靠谱的解决办法:
方案1:更新react-native-device-info到最新兼容版本
最直接的方式就是升级这个依赖包,新版本已经修复了仓库配置的问题。执行以下命令:
# npm 用户 npm install react-native-device-info@latest --save # yarn 用户 yarn add react-native-device-info@latest
更新完成后,重新运行react-native run-android即可。
方案2:在项目根目录的build.gradle中添加Google Maven仓库
如果暂时不想升级依赖,你可以确保项目的仓库配置里包含Google Maven,因为Android架构组件的包现在托管在这里。打开项目根目录的build.gradle,找到allprojects下的repositories,添加google()仓库:
allprojects { repositories { mavenLocal() maven { url("$rootDir/../node_modules/react-native/android") } maven { url("$rootDir/../node_modules/jsc-android/dist") } google() // 一定要加上这个仓库 jcenter() maven { url 'https://www.jitpack.io' } } }
修改后同步Gradle(Android Studio会提示你同步,或者在终端执行./gradlew clean),再重新运行构建命令。
方案3:强制指定依赖的仓库源(备选方案)
如果前两种方法都不行,你可以在app/build.gradle中为缺失的依赖指定仓库来源:
dependencies { // 保留你原有的其他依赖 implementation 'android.arch.core:common:1.0.0' { repository { maven { url 'https://maven.google.com' } } } }
不过这个方法比较繁琐,优先推荐前两种方案。
另外,如果你想排查更详细的错误信息,可以按照提示加上--stacktrace参数运行命令:
react-native run-android --stacktrace
这样能看到更完整的依赖解析堆栈,方便定位问题。
内容的提问来源于stack exchange,提问作者Haytham Tomeh
相关产品推荐
相关产品推荐

