JS服务器无法识别,继续构建

Res*_*gan 10 javascript android gradle react-native react-native-android

环境

Windows 10

Npm 5.5.1

react-native-cli 2.0.1

反应原生0.50.3

Genymotion谷歌Nexus 7 - 6.0.0 API 23

Android的东西:

Sdk版本:26

buildToolsVersion '26 .0.2'

TargetsdkVersion:26

编译"com.android.support:appcompat-v7:26.0.2"

我已经运行了npm start --reset-cache以及react-native start --reset-cache但是我一直无法识别JS服务器,继续构建.这可以防止打包程序在我的模拟器上运行之前捆绑资产.

我在这篇文章中遵循了解决方案1:

https://github.com/facebook/react-native/issues/9136#issuecomment-306486102

以及这一个:

无法识别JS服务器

我用react-native init APP开始了这个项目.使用此错误已经无法构建它.检查这里和使用npm cache clean和react-native start --reset-cache提到的其他站点的serval帖子,这似乎没有帮助我继续得到相同的错误.我曾经一次顺利运行,但我改变了一个npm包,我想我又把它弄坏了.任何帮助,将不胜感激.我还更新了gradle版本并将其同步到项目中

下面是我正在经历的一些截图...

仿真器输出 Bash输出

**代码**

index.js

import { AppRegistry } from 'react-native';
import App from './App';

AppRegistry.registerComponent('hihi', () => App);
Run Code Online (Sandbox Code Playgroud)

App.js /***样本React Native App*https://github.com/facebook/react-native *@flow*/

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  View
} from 'react-native';

const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' +
    'Cmd+D or shake for dev menu',
  android: 'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});

export default class App extends Component<{}> {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit App.js
        </Text>
        <Text style={styles.instructions}>
          {instructions}
        </Text>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});
Run Code Online (Sandbox Code Playgroud)

app.json

{
  "name": "hihi",
  "displayName": "hihi"
}
Run Code Online (Sandbox Code Playgroud)

.babelrc

{
  "presets": ["react-native"]
}
Run Code Online (Sandbox Code Playgroud)

的package.json

{
    "name": "hihi",
    "version": "0.0.1",
    "private": true,
    "scripts": {
        "start": "node node_modules/react-native/local-cli/cli.js start",
        "test": "jest"
    },
    "dependencies": {
        "react": "16.0.0",
        "react-native": "0.50.3",
        "watchman": "^0.1.8"
    },
    "devDependencies": {
        "babel-jest": "21.2.0",
        "babel-polyfill": "^6.26.0",
        "babel-preset-es2015": "^6.24.1",
        "babel-preset-react-native": "4.0.0",
        "babel-register": "^6.26.0",
        "jest": "21.2.1",
        "react-test-renderer": "16.0.0"
    },
    "jest": {
        "preset": "react-native"
    }
}
Run Code Online (Sandbox Code Playgroud)

更新更新

我想通了,这是对这篇文章和这个解决方案的建议的组合:

在圆圈ci中找不到com.android.tools.build:gradle:3.0.0-alpha1

我需要在两个位置包含google()以及将其切换到端口8082并在模拟器上启用该端口的解决方案.非常感谢你的帮助!=)

Mar*_*iak 20

在类似情况下帮助我的步骤:

  1. 在不同于8081的端口上运行打包器: react-native start --port 8082 --reset-cache
  2. react-native run-android --port 8082在第二个命令提示符窗口中运行命令.
  3. 出现错误屏幕后单击Ctrl + M.
  4. 点击Dev Settings底部的按钮.
  5. 单击Debug server host & port for device按钮.
  6. 写作localhost:8082并单击OK按钮.
  7. 再次运行命令 react-native run-android --port 8082