Umgebung
Windows 10
Npm 5.5.1
reakt-native-cli 2.0.1
reaktives natives 0.50.3
Genymotion Google Nexus 7 - 6.0.0 API 23
Android-Sachen:
Sdk-Version: 26
buildToolsVersion '26 .0.2 '
TargetsdkVersion: 26
kompilieren Sie "com.Android.support:appcompat-v7:26.0.2"
Ich habe npm start --reset-cache sowie reactative start --reset-cache ausgeführt, aber ich bekomme immer wieder, dass der JS-Server nicht erkannt wird, und fährt mit build fort. Dies verhindert, dass der Packager die Assets bündelt, bevor er auf meinem Emulator ausgeführt wird.
Ich habe Lösung 1 in diesem Beitrag verfolgt:
https://github.com/facebook/react-native/issues/9136#issuecomment-306486102
sowie dieses hier:
JS-Server kann nicht erkannt werden
Ich habe dieses Projekt mit dem reaktativen init APP gestartet. Habe bereits Probleme mit diesem Fehler. Serval Posts auf hier und anderen Websites, die erwähnt werden, mit npm cache clean und reaktiver Start --reset-cache überprüfen, und das schien nicht zu helfen, dass ich den gleichen Fehler bekomme. Ich habe es auf einmal problemlos laufen lassen, aber ich habe ein npm-Paket geändert und ich glaube, ich habe es wieder kaputt gemacht. Jede Hilfe wäre dankbar. Ich habe auch die Gradle-Version aktualisiert und diese in das Projekt eingefügt
Hier einige Screenshots von dem, was ich erlebe ...
** CODE **
index.js
import { AppRegistry } from 'react-native';
import App from './App';
AppRegistry.registerComponent('hihi', () => App);
App.js /** * Native React App * https://github.com/facebook/react-native * @fließen */
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"
}
}
UPDATE UPDATE
Ich habe es herausgefunden, es war eine Kombination der Vorschläge in diesem Beitrag und auch dieser Lösung:
Konnte com.Android.tools.build:gradle:3.0.0-alpha1 im Kreis nicht finden
Ich brauchte google () in both Standorten sowie die Möglichkeit, auf Port 8082 umzusteigen und diesen Port auf dem Emulator zu aktivieren. DANKE ALLES SO VIEL FÜR IHRE HILFE !!! =)
Schritte, die mir in ähnlichem Fall geholfen haben:
react-native start --port 8082 --reset-cache
react-native run-Android --port 8082
im zweiten Eingabeaufforderungsfenster.Ctrl + M
.Dev Settings
.Debug server Host & port for device
.localhost:8082
und klicke auf OK
.react-native run-Android --port 8082
Ich hatte dieses Problem, als ein anderer Prozess auf Port 8081
Ausgeführt wurde.
lsof -i tcp:8081
25120
kill -9 25120
Wenn Sie nur den Port ändern, wird das Problem nicht behoben, sondern es wird mehr erstellt, sofern Sie nicht auch den Port vom Gerät selbst aus ändern.
Bestätigen Sie zunächst, ob dies der Fall ist:
$> netstat -aon|findstr “8081”
Ändern Sie jetzt, um es von einem neuen Standardport auszuführen
a) Ändern Sie die env-Variable in Windows, um einen neuen Port für RN festzulegen:
$> SET RCT_METRO_PORT=8083
Wird in RN als Standardport verwendet. Wenn nicht festgelegt, ist der Standardwert 8081
b) Alte Rückseite entfernen:
$> adb reverse –remove-all
c) Legen Sie einen neuen Reverse-Port für das ADB-Gerät fest:
$> adb reverse tcp:8083 tcp:8083
d) Ändern Sie die Dev-Einstellungen auf dem Gerät von 8081 auf 8083.
Führen Sie die App und dann das Eingabeschlüsselereignis 82 aus. Wählen Sie nun Dev-Einstellungen> Debug-Server-Host aus ...> geben Sie eine neue URL ein: Localhost: 8083
bauen und wieder laufen
In meinem Fall (hatte den gleichen Fehler) habe ich einfach netstat in win CMD geprüft ( Referenz überprüfen ). Mein Problem bestand darin, eine weitere Instanz auf Port auszuführen: 8081, also musste ich den Bastard töten.
Versuchen Sie, ein lokales Serverprogramm wie MAMP, WAMP, OpenServer e.t.c. auszuschalten. Sie können den 8081-Port verwenden.