无法使用Android将react-native更新到0.59.2

时间:2019-04-01 03:39:16

标签: android react-native gradle

我从本机0.55.4开始创建了一个项目,现在我计划升级到最新版本(0.59.2)。 使用iOS我已成功更新。不幸的是,Android我升级失败。 Android似乎需要进行许多更改。 gradle成功同步,并且构建成功,但是当我键入react-native run-android时。并且在将应用程序安装到移动设备或仿真器后,显示“无法连接到开发服务器”。

以下是我更改的内容: gradle-wrapper.properties -distributionUrl = https://services.gradle.org/distributions/gradle-4.10.1-all.zip

build.gradle -依赖项{classpath'com.android.tools.build:gradle:3.3.1'} -构建工具版本为28.0.3

app / build.gradle

packagingOptions {
  pickFirst 'lib/x86/libc++_shared.so'
  pickFirst 'lib/arm64-v8a/libc++_shared.so'
  pickFirst 'lib/x86_64/libc++_shared.so'
  pickFirst 'lib/armeabi-v7a/libc++_shared.so'
  pickFirst 'lib/arm64-v8a/libc++_shared.so'
}

splits {
  abi {
    reset()
        enable enableSeparateBuildPerCPUArchitecture
        universalApk false // If true, also generate a universal APK
        include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
  }
}

我还按照0.59.2更新了metro.config.js和babel.config.js

旧环境  “ react”:“ 16.3.1”, “ react-native”:“ 0.55.4”, 新的环境 “ react”:“ 16.8.3”, “ react-native”:“ 0.59.2”,

我以为我错过了android方面的东西。请纠正我。

更新的答案。

转到AndroidManifest.xml,然后添加

  

android:usesCleartextTraffic =“ true”

内部应用标签。一切正常。 usesCleartextTraffic 是什么意思?

1 个答案:

答案 0 :(得分:0)

这表示接受http请求(通常不加密文本)。 在Android 9.0(API 28)之后,默认情况下 HTTP 请求被禁止。出于安全原因,请求使用 HTTPS 。因此,如果要使用http连接默认情况下,您可以将此属性设置为“ true”。

RN向开发服务器发送http请求,因此您可以将此属性设置为“ true”以避免检查。

并将目标SDK设置为28以下或添加配置文件以包含域也可以做到这一点。