我使用以下方法在Windows 10上安装了一个新的react-native项目:
Observable
我已经安装了Android Studio,并且正在使用Oreo 8.0运行Pixel 2XL模拟器。
它可以成功编译
npm install -g react-native
react-native init myproject
cd myproject
react-native run-android
,一旦完成,它将在模拟器中打开,我得到
react-native run-android
Starting JS server...
Building and installing the app on the device (cd android && gradlew.bat installDebug)...
Starting a Gradle Daemon (subsequent builds will be faster)
Download https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.pom
Download https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar
> Task :app:installDebug
Installing APK 'app-debug.apk' on 'Nexus_5X_API_28_x86(AVD) - 9' for app:debug
Installed on 1 device.
BUILD SUCCESSFUL in 53s
27 actionable tasks: 27 executed
Running D:\AndroidSDK/platform-tools/adb -s emulator-5554 reverse tcp:8081 tcp:8081
Starting the app on emulator-5554 (D:\AndroidSDK/platform-tools/adb -s emulator-5554 shell am start -n com.myproject/com.myproject.MainActivity)...
Starting: Intent { cmp=com.myproject/.MainActivity }
有什么想法吗?谷歌搜索发现一件事:https://github.com/janeasystems/nodejs-mobile/issues/122
但这表示已解决,但我没有看到与该错误相同的问题:
┌──────────────────────────────────────────────────────────────────────────────┐
│ │
│ Running Metro Bundler on port 8081. │
│ │
│ Keep Metro running while developing on any JS projects. Feel free to │
│ close this tab and run your own Metro instance if you prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
D:\Workspace\Projects\myproject
Loading dependency graph, done.
BUNDLE [android, dev] ..\..\../index.js ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100.0% (543/543), done.
::ffff:127.0.0.1 - - [13/Dec/2018:23:13:43 +0000] "GET /index.delta?platform=android&dev=true&minify=false HTTP/1.1" 200 - "-" "okhttp/3.11.0"
我在adb server version (40) doesn't match this client (39); killing...
* daemon started successfully *
下有我的SDK,因此我已经在路径系统环境变量下列出了D:\AndroidSDK
,所以我不确定再次导出路径是否可以执行任何操作。我还在D:\AndroidSDK\platform-tools
下安装了Java sdk,并且在JAVA_HOME下的环境变量中也进行了设置
这是我的环境变量的列表:
C:\Program Files\Java\jdk1.8.0_191
另外,这是我的JAVA_HOME
C:\Program Files\Java\jdk1.8.0_191
ANDROID_HOME
D:\AndroidSDK
PATH
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
%ANDROID_HOME%\tools\bin
%ANDROID_HOME%\emulator
https://gist.github.com/Snowdrama/d7cc4a0b51d9d331ae75ebd4bf6d7b03
还有我的android/build.gradle
https://gist.github.com/Snowdrama/a69bed755fb042da9e9b52c5abb8788d
主要是因为我在某处阅读到gradle版本可能存在这样的问题(不确定),但无论如何我还是在提供它们。
我只是感到困惑,因为我尚未进行任何更改!哈哈!
希望我提供了足够的信息!如有需要,请通知我!预先感谢!
答案 0 :(得分:1)
尝试通过react-native git命令行工具react-native-git-upgrade
进行升级,如下所述:
https://facebook.github.io/react-native/docs/upgrading
我在运行Oreo 8.1的Pixel 2模拟器上的一个新项目上遇到了同样的错误,并且升级了react-native
cli似乎可以解决此问题。
我正在基于React Native 0.57.0运行项目,并且仅通过更改package.json
中的版本然后运行yarn
来升级补丁程序发行版,但没有运行升级程序,该更新程序也会更新许多源/配置项目文件。
答案 1 :(得分:1)
嘿,我遇到了这个错误,并通过缓慢地重新引入我的更改来解决它。
git status
)git checkout src
)结果对我来说似乎是无害和良性的。我必须更改:
for (const key of keys) {
const obj = body[key]
收件人:
for (let key of keys) {
let obj = body[key]
编辑:
我将应用程序的损坏版本存储在单独的文件夹中,可以可靠地重现/修复该错误。但是,重新启动计算机后,我再也无法重现该错误。
这告诉我它与缓存文件有关。如果您仍然挣扎,请尝试:
watchman watch-del-all
yarn cache clear
或npm cache clean
rm -rf node_modules