android - react native 运行 android 失败

标签 android gradle react-native android-gradle-plugin gradlew

我按照 react native android 指南页面中的所有说明进行操作,但是当我使用 react-cli 创建项目并运行 react-native run-android 时,我得到了一些错误:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'test'.
> Could not resolve all dependencies for configuration ':classpath'.
   > Could not resolve org.apache.commons:commons-compress:1.8.1.
     Required by:
         :test:unspecified > com.android.tools.build:gradle:2.2.3 > com.android.tools.build:gradle-core:2.2.3 > com.android.tools.build:builder:2.2.3 >

com.android.tools:sdklib:25.2.3 :test:unspecified > com.android.tools.build:gradle:2.2.3 > com.android.tools.build:gradle-core:2.2.3 > com.android.tools.build:builder:2.2.3 > com.android.tools:sdklib:25.2.3 > com.android.tools:repository:25.2.3

Could not resolve org.apache.commons:commons-compress:1.8.1. Could not get resource 'https://jcenter.bintray.com/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.pom'. Could not HEAD 'https://jcenter.bintray.com/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.pom'. Connect to jcenter.bintray.com:443 [jcenter.bintray.com/75.126.118.188] failed: Connection timed out (Connection timed out)

* 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: 2 mins 16.65 secs
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

我在谷歌上搜索了一整天以找出导致此问题的原因,但没有找到任何有用的东西。 这是一些信息:

$ java -version

openjdk version "1.8.0_131"   
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

$ android list avd

Available Android Virtual Devices:
    Name: Pixel_API_25
  Device: pixel (Google)
    Path: /home/danial/.android/avd/Pixel_API_25.avd
  Target: Google APIs (Google Inc.)
          Based on: Android 7.1.1 (Nougat) Tag/ABI: google_apis/x86_64
    Skin: pixel
  Sdcard: 100M

$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/danial/Android/Sdk/tools:/home/danial/Android/Sdk/platform-tools:/home/danial/Android/Sdk/tools/bin

所以一切都设置正确我真的不知道问题出在哪里。

**First Answer Error Again:**

[Fatal Error] apache-13.pom:1:44: Content is not allowed in prolog.
[Fatal Error] apache-13.pom:1:44: Content is not allowed in prolog.
[Fatal Error] apache-13.pom:1:44: Content is not allowed in prolog.
[Fatal Error] apache-13.pom:1:44: Content is not allowed in prolog.
[Fatal Error] apache-13.pom:1:44: Content is not allowed in prolog.
[Fatal Error] apache-13.pom:1:44: Content is not allowed in prolog.
[Fatal Error] apache-13.pom:1:44: Content is not allowed in prolog.
[Fatal Error] apache-13.pom:1:44: Content is not allowed in prolog.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'test'.

> Could not resolve all dependencies for configuration ':classpath'.
   > Could not resolve org.apache.commons:commons-compress:1.8.1.
     Required by:
         :test:unspecified > com.android.tools.build:gradle:2.2.3 > com.android.tools.build:gradle-core:2.2.3 > com.android.tools.build:builder:2.2.3 >

com.android.tools:sdklib:25.2.3 :test:unspecified > com.android.tools.build:gradle:2.2.3 > com.android.tools.build:gradle-core:2.2.3 > com.android.tools.build:builder:2.2.3 > com.android.tools:sdklib:25.2.3 > com.android.tools:repository:25.2.3

Could not resolve org.apache.commons:commons-compress:1.8.1. Could not parse POM https://jcenter.bintray.com/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.pom Could not resolve org.apache.commons:commons-parent:33. Could not resolve org.apache.commons:commons-parent:33. Could not parse POM https://jcenter.bintray.com/org/apache/commons/commons-parent/33/commons-parent-33.pom Could not resolve org.apache:apache:13. Could not resolve org.apache:apache:13. Could not parse POM https://jcenter.bintray.com/org/apache/apache/13/apache-13.pom Content is not allowed in prolog. Could not resolve org.apache:apache:13. Could not parse POM https://repo1.maven.org/maven2/org/apache/apache/13/apache-13.pom Content is not allowed in prolog. Could not resolve org.apache.commons:commons-parent:33. Could not parse POM https://repo1.maven.org/maven2/org/apache/commons/commons-parent/33/commons-parent-33.pom Could not resolve org.apache:apache:13. Could not resolve org.apache:apache:13. Could not parse POM https://jcenter.bintray.com/org/apache/apache/13/apache-13.pom Content is not allowed in prolog. Could not resolve org.apache:apache:13. Could not parse POM https://repo1.maven.org/maven2/org/apache/apache/13/apache-13.pom Content is not allowed in prolog. Could not resolve org.apache.commons:commons-compress:1.8.1. Could not parse POM https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.pom Could not resolve org.apache.commons:commons-parent:33. Could not resolve org.apache.commons:commons-parent:33. Could not parse POM https://jcenter.bintray.com/org/apache/commons/commons-parent/33/commons-parent-33.pom Could not resolve org.apache:apache:13. Could not resolve org.apache:apache:13. Could not parse POM https://jcenter.bintray.com/org/apache/apache/13/apache-13.pom Content is not allowed in prolog. Could not resolve org.apache:apache:13. Could not parse POM https://repo1.maven.org/maven2/org/apache/apache/13/apache-13.pom Content is not allowed in prolog. Could not resolve org.apache.commons:commons-parent:33. Could not parse POM https://repo1.maven.org/maven2/org/apache/commons/commons-parent/33/commons-parent-33.pom Could not resolve org.apache:apache:13. Could not resolve org.apache:apache:13. Could not parse POM https://jcenter.bintray.com/org/apache/apache/13/apache-13.pom Content is not allowed in prolog. Could not resolve org.apache:apache:13. Could not parse POM https://repo1.maven.org/maven2/org/apache/apache/13/apache-13.pom Content is not allowed in prolog.

最佳答案

看起来您的项目无法从 jcenter 获取依赖项。尝试将 repos 添加到您的 build.gradle 文件中。

repositories {
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
    jcenter()
}

将上面的代码放在 buildscript {...} 的主体中。

关于android - react native 运行 android 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45965008/

相关文章:

android - 如何让安卓应用程序成为平板电脑的默认启动器

java - Noclassdeffounderror - 找不到 v7 支持(android studio)

Gradle:使用 Jetty 运行多个 Web 应用程序

android - 订阅促销代码是否适用于订阅测试流程?

java - 排序 ListView Java

android - 如果用作 ListView 行 View ,为什么 LinearLayout 的边距会被忽略

java - 棕地 |听诊器 | ":com.facebook.stetho:stetho-okhttp:1.2.0' 依赖于一个或多个 Android 库但是是一个 jar”

javascript - Instagram 克隆错误 : Objects are not valid as a React child

javascript - 我可以用 React Native 组件做轮播吗?

javascript - 使用 enzyme ,如何在组件 react native 中找到子组件