环境
Windows 10
Npm 5.5.1
react-native-cli 2.0.1
react-native 0.50.3
Genymotion Google 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
以及这一个:
我使用react-native init APP启动了这个项目。使用此错误已经无法构建它。检查这里和使用npm cache clean和react-native start --reset-cache提到的其他站点的serval帖子,这似乎没有帮助我继续得到相同的错误。我曾经一次顺利运行,但我改变了一个npm包,我想我又把它弄坏了。任何帮助,将不胜感激。我还更新了gradle版本并将其同步到项目中
下面是我正在经历的一些截图...
**代码**
index.js
import { AppRegistry } from 'react-native';
import App from './App';
AppRegistry.registerComponent('hihi', () => App);
App.js / ** *示例React Native App * https://github.com/facebook/react-native * @流 * /
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,
},
});
app.json
{
"name": "hihi",
"displayName": "hihi"
}
.babelrc
{
"presets": ["react-native"]
}
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"
}
}
更新更新
我想通了,这也是这篇文章和这个解决方案的建议的组合:
Could not find com.android.tools.build:gradle:3.0.0-alpha1 in circle ci
我需要在两个位置包含google()以及将其切换到端口8082并在模拟器上启用该端口的解决方案。非常感谢你的帮助! =)
答案 0 :(得分:18)
在类似案例中帮助我的步骤:
react-native start --port 8082 --reset-cache
react-native run-android --port 8082
。Ctrl + M
。Dev Settings
按钮。Debug server host & port for device
按钮。localhost:8082
并点击OK
按钮。react-native run-android --port 8082
答案 1 :(得分:1)
当我在端口Install from VSIX
上运行另一个进程时,我遇到了这个问题。
...
8081
lsof -i tcp:8081
答案 2 :(得分:0)
就我而言(具有相同的错误),我只是在win CMD(check for reference)中检查了netstat。我的问题是在端口:8081上运行另一个实例,所以我不得不杀死该混蛋。
答案 3 :(得分:0)
仅更改端口并不能解决问题,而是会创建更多端口,除非您还从设备本身更改了端口。
首先,确认是否是这种情况:
$> netstat -aon|findstr “8081”
现在将其更改为从新的默认端口运行
a)在Windows上更改env变量以为RN设置新端口:
$> SET RCT_METRO_PORT=8083
在RN中用作默认端口,如果未设置,则默认为8081
b)删除旧的反向链接:
$> adb reverse –remove-all
c)为adb设备设置新的反向端口:
$> adb reverse tcp:8083 tcp:8083
d)将设备上的开发设置从默认的8081更改为8083。
运行该应用,然后运行输入keyevent 82, 现在选择 Dev设置>调试服务器主机...>输入新网址: 本地主机:8083
构建并再次运行
答案 4 :(得分:0)
尝试关闭本地服务器程序,例如MAMP,WAMP,OpenServer等。他们可以使用8081端口。