React Native-带有新鲜项目的意外标识符'str'

时间:2018-12-13 23:20:02

标签: android node.js react-native

我使用以下方法在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

,一旦完成,它将在模拟器中打开,我得到

Screenshot of emulator
地铁捆绑包说:

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版本可能存在这样的问题(不确定),但无论如何我还是在提供它们。

我只是感到困惑,因为我尚未进行任何更改!哈哈!

希望我提供了足够的信息!如有需要,请通知我!预先感谢!

2 个答案:

答案 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)

嘿,我遇到了这个错误,并通过缓慢地重新引入我的更改来解决它。

  1. 备份您的工作,这样您就不会丢失任何东西
  2. 记下您所做的所有导致错误的更改(例如git status
  3. 将所有内容恢复为正常工作状态(例如git checkout src
  4. 慢慢地重新引入更改,直到获得确切的错误为止(其他错误也可以,请一一列举)。

结果对我来说似乎是无害和良性的。我必须更改:

for (const key of keys) {
    const obj = body[key]

收件人:

for (let key of keys) {
    let obj = body[key]

编辑:

我将应用程序的损坏版本存储在单独的文件夹中,可以可靠地重现/修复该错误。但是,重新启动计算机后,我再也无法重现该错误。

这告诉我它与缓存文件有关。如果您仍然挣扎,请尝试:

  • watchman watch-del-all
  • yarn cache clearnpm cache clean
  • rm -rf node_modules
  • 重新启动计算机