由于依赖关系,在 run-android 上构建失败

Posted

技术标签:

【中文标题】由于依赖关系,在 run-android 上构建失败【英文标题】:Build failed on run-android due to dependencies 【发布时间】:2015-12-13 12:34:12 【问题描述】:

运行 run-android 时出现问题。我遇到了一个问题,我想这是 gradle 依赖项的问题。

我什至尝试过 sudo,它会给出其他一些随机错误,比如 $ANDROID_HOME。这不是问题。

JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
   > Could not find com.android.support:appcompat-v7:23.0.0.
     Searched in the following locations:
         file:/Users/iraycd/.m2/repository/com/android/support/appcompat-v7/23.0.0/appcompat-v7-23.0.0.pom
         file:/Users/iraycd/.m2/repository/com/android/support/appcompat-v7/23.0.0/appcompat-v7-23.0.0.jar
         https://jcenter.bintray.com/com/android/support/appcompat-v7/23.0.0/appcompat-v7-23.0.0.pom
         https://jcenter.bintray.com/com/android/support/appcompat-v7/23.0.0/appcompat-v7-23.0.0.jar
     Required by:
         AwesomeProject:app:unspecified
   > Could not find com.android.support:appcompat-v7:23.0.0.
     Searched in the following locations:
         file:/Users/iraycd/.m2/repository/com/android/support/appcompat-v7/23.0.0/appcompat-v7-23.0.0.pom
         file:/Users/iraycd/.m2/repository/com/android/support/appcompat-v7/23.0.0/appcompat-v7-23.0.0.jar
         https://jcenter.bintray.com/com/android/support/appcompat-v7/23.0.0/appcompat-v7-23.0.0.pom
         https://jcenter.bintray.com/com/android/support/appcompat-v7/23.0.0/appcompat-v7-23.0.0.jar
     Required by:
         AwesomeProject:app:unspecified > com.facebook.react:react-native:0.11.0
   > Could not find com.android.support:support-v4:21.0.3.
     Searched in the following locations:
         file:/Users/iraycd/.m2/repository/com/android/support/support-v4/21.0.3/support-v4-21.0.3.pom
         file:/Users/iraycd/.m2/repository/com/android/support/support-v4/21.0.3/support-v4-21.0.3.jar
         https://jcenter.bintray.com/com/android/support/support-v4/21.0.3/support-v4-21.0.3.pom
         https://jcenter.bintray.com/com/android/support/support-v4/21.0.3/support-v4-21.0.3.jar
     Required by:
         AwesomeProject:app:unspecified > com.facebook.react:react-native:0.11.0 > com.facebook.fresco:fresco:0.6.1 > com.facebook.fresco:drawee:0.6.1
         AwesomeProject:app:unspecified > com.facebook.react:react-native:0.11.0 > com.facebook.fresco:fresco:0.6.1 > com.facebook.fresco:imagepipeline:0.6.1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 11.247 secs
Could not install the app on the device, see the error above.

我哪里做错了?

【问题讨论】:

尝试更新Android SDK。似乎有新版本的库。更新远程存储库并重建 【参考方案1】:

缺少安装 Android 支持存储库,再次按照此处的所有步骤操作:https://facebook.github.io/react-native/docs/android-setup.html

https://github.com/facebook/react-native/issues/2772#issuecomment-140843907

【讨论】:

部分包已重命名,尤其是“Android 支持库”似乎已重命名为“支持库的本地 Maven 库”。安装它为我修复了错误。 ***.com/questions/54998051/… 然后检查一下【参考方案2】:

如果像我一样,你读过的其他任何东西都没有用,这对我有用:

    检查源代码管理更改的最新快照 从系统中删除项目目录 从源代码管理中检查您的代码 npm cache clean && npm install watchman watch-del-all react-native start -- --reset-cache react-native run-android

:脑洞大开:

【讨论】:

【参考方案3】:

您似乎没有将机器上的库更新到最新版本。下载新版本的支持库/appcompat,然后重试

【讨论】:

【参考方案4】:

您似乎没有安装 android sdk 和/或它的路径设置不正确。在 react native 的 android setup docs 中有详细的说明,请按照Install and configure SDK 的说明进行操作。

【讨论】:

【参考方案5】:

对于那些在尝试简单地使用 Android SDK Manager (tools/android) 时遇到此问题的人,我必须以 root 身份运行 SDK 管理器(例如 sudo ./tools/android)来解决此错误。

不幸的是,以 root 身份运行 X11 转发的程序有时会带来其自身的问题。如果您在尝试以 root 身份运行 SDK 管理器时遇到问题,请参阅this answer here。具体来说,我能够以普通用户身份运行 SDK 管理器,但尝试以 root 身份运行总是失败。

【讨论】:

【参考方案6】:

您似乎没有安装 android sdk 和/或它的路径设置不正确。在 react native 的 android setup 文档中有详细的说明,请按照安装和配置 SDK 的说明进行操作。

【讨论】:

以上是关于由于依赖关系,在 run-android 上构建失败的主要内容,如果未能解决你的问题,请参考以下文章

react-native run-android 失败:无法在设备上安装应用程序,请阅读上面的错误

在 Android 上构建 Flutter 应用程序时如何修复“依赖失败”

React-native run-android 构建了我的应用程序的正确版本,但 assembleRelease/react-native run-android --variant=release

修复 React-Native run-android 上的构建失败

解决由于类之间的循环依赖而导致的构建错误

解决由于类之间的循环依赖而导致的构建错误