it-swarm.com.de

Reaktiver nativer Run-Android aktualisiert den geänderten Code nicht

Ich verwende React native 0.52.0 und React-native-cli 2.0.1 auf meinem Windows-PC für Android-Entwicklung. Trotz aller Änderungen, die ich gemacht habe. Wenn ich react-native run-Android ausführt, wird es erfolgreich erstellt, aber wenn ich es ausführe, erhalte ich den standardmäßig eingebauten Bildschirm.

Das Ergebnis beim Ausführen von react-native run-Android-  enter image description here

Die App, die ich bekomme

 enter image description here

index.js

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

AppRegistry.registerComponent('albums', () => App);

app.js

import React from 'react'
import ReactNative, { Text } from 'react-native'

export default const App = () => {
  return (
    <Text>Hello World</Text>
  )
}

Als ich react-native init albums lief, wurde nur eine index.js-Datei erstellt. Es gab keine index.Android.js- oder index.ios.js-Datei Was mache ich falsch?

Gehen Sie davon aus, dass Sie sich im richtigen Ordner befinden, und versuchen Sie Folgendes: 

react-native bundle --platform Android --dev false --entry-file index.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res/

wenn Sie index.Android.js haben, führen Sie stattdessen Folgendes aus: 

react-native bundle --platform Android --dev false --entry-file index.Android.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res/

Dann führen Sie einfach Reactative-Android aus.

22
Mtg Kha Jeskai

L&OUML;SUNG

react-native bundle --platform Android --dev false --entry-file index.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res 

AUSGABE wird sein:

`c:\Users\lenger\Desktop\webrowser>react-native bundle --platform Android --dev false --entry-file index.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res
Scanning folders for symlinks in c:\Users\lenger\Desktop\webrowser\node_modules (43ms)
Scanning folders for symlinks in c:\Users\lenger\Desktop\webrowser\node_modules (38ms)
Loading dependency graph, done.
bundle: start
bundle: finish
bundle: Writing bundle output to: Android/app/src/main/assets/index.Android.bundle
bundle: Done writing bundle output

und danach 

Wenn Sie react-native run-Android erneut ausführen, finden Sie Ihre Modifikationsarbeit.

https://lengerrong.blogspot.am/2018/01/react-native-run-Android-do-not.html

7
Rob

Sie aktualisieren wahrscheinlich die falsche Datei und rufen sie nicht in der AppRegistry-Klasse auf. 

Überprüfen Sie (oder veröffentlichen Sie) Ihren vollständigen index.Android.js und stellen Sie sicher, dass die Datei, die Sie aufrufen und importieren, die Datei ist, die Sie tatsächlich ändern. 

2
sfratini

Das hat für mich funktioniert. Schritt 1)

rm -rf /usr/local/var/run/watchman && brew uninstall watchman && brew install watchman

Schritt 2)

react-native start
2
user2436649

Das hat für mich funktioniert:

Führen Sie dies in Ihrem Projektordner aus

c:\Users\lenger\Desktop\YourProjectFolder>react-native bundle --platform Android --dev false --entry-file index.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res

Scannen von Ordnern nach Symlinks in c:

\Users\lenger\Desktop\webrowser\node_modules (43ms)
Scanning folders for symlinks in c:\Users\lenger\Desktop\webrowser\node_modules (38ms)
Loading dependency graph, done.
bundle: start
bundle: finish
bundle: Writing bundle output to: Android/app/src/main/assets/index.Android.bundle
bundle: Done writing bundle output

Führen Sie erneut reaktives Ausführen von Android aus

Ich teile den Link, wo ich diese Lösung gefunden habe: https://lengerrong.blogspot.com/2018/01/react-native-run-Android-do-not.html

1
lisandro

gehen Sie in Ihrem Terminalfenster zu Ihrem Projektordner und versuchen Sie dann diesen Befehl 

react-native bundle --platform Android --dev false --entry-file index.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res/
1
Ankit Sharma

Das Kommentar auf Github hat mein Problem behoben.

@neonsec Cool, it do works !

and I find a reason why this happened

https://github.com/facebook/watchman/blob/4b98623e8fde17588f27494f3ae8f084b9b227d3/QueryableView.cpp#L48

it looks like when a .git/index.lock or a .hg/wlock file exist, watchman will do nothing

Lösung: LÖSCHEN .git/index.lock Datei

## root app dir
rm -f .git/index.lock

anderer Link: https://github.com/facebook/watchman/blob/4b98623e8fde17588f27494f3ae8f084b9b227d3/QueryableView.cpp#L48

1
MernXL

Wenn Sie index.Android.js verwenden, gehen Sie folgendermaßen vor:

Löschen Sie index.Android.bundle innerhalb Android/app/src/main/assets und dann -

  1. Natives Reaction-Bundle --Plattform Android --dev false --Eintrag-Datei index.Android.js --bundle-Ausgabe Android/app/src /main/assets/index.Android.bundle --assets-dest Android/app/src/main/res/

  2. cd ./Android

  3. ./ gradlew assembleRelease -x bundleReleaseJsAndAssets

1
Pritam Guha

führen Sie anschließend das folgende Skript aus, indem Sie einfach 1.gradlew clean 2.react-native link ausführen

react-native bundle --platform Android --dev false --entry-file index.js --bundle- 
output Android/app/src/main/assets/index.Android.bundle --assets-dest 
Android/app/src/main/res
1
Asma_Kh

Für mich bestand das Problem darin, dass ich Internetberechtigungen aus meiner AndroidManifest.xml entfernt hatte (da dies technisch nicht erforderlich war). React Native verwendet diese Berechtigung, um Ihre App mit dem Entwicklungscomputer zu verbinden (und Live-Debugging zu aktivieren).

<uses-permission Android:name="Android.permission.INTERNET" />
1
Karl Penzhorn

Öffnen Sie die package.json-Datei und aktualisieren Sie diesen Code.

"scripts": {
"Android": "react-native bundle --platform Android --dev false --entry-file index.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res && react-native run-Android",
"ios": "react-native run-ios"
},

Wenn Sie sich im richtigen Ordner befinden, versuchen Sie Folgendes:

Führen Sie diesen Befehl nur aus, es werden automatisch beide Befehle ausgeführt. 

npm run Android

0
pappu kumar

Fix es in 3 Schritten:

  1. Aktivieren Sie Live Reload
  2. Hot-Reload deaktivieren
  3. Deaktivieren Sie in den Dev-Einstellungen den JS Dev-Modus

Jetzt wird Ihre App jedes Mal automatisch aktualisiert, wenn Sie Änderungen an Ihren Codes vorgenommen haben.

0
Engkus Kusnadi

Für CodePush-Benutzer

Ich hatte das gleiche Problem, aber es hat meinen Code nicht nur in einer Produktionsversion aktualisiert, sondern funktioniert auch in der Entwicklung.

Mein Problem war CodePush, es wurde meine App aktualisiert, da sie dieselbe Version wie die letzte Zielversion von CodePush hatte und ein obligatorisches Update war (ich habe das Versionsziel nicht geändert, weil es nur zu Testzwecken war) hat den CodePush-Code in meiner App.js kommentiert und funktioniert einwandfrei.

0
Jean Lambert

Öffnen Sie das Menü Android Studio -> " Tools " -> " AVD manager "und klicken Sie mit der rechten Maustaste auf den von Ihnen verwendeten Emulator. Wählen Sie" Daten löschen "und dann" Cold Boot Now "sollte das Problem lösen.

enter image description here

0
J.Q

In meinem Fall löste das Löschen der Zeile in gradle.properties das Problem.

org.gradle.configureondemand = true

0
user2672279

es gab keine Datei index.Android.js oder index.ios.js

In diesem Fall müssen Sie die Anweisungen auf Ihrem Handy/Emulator wie folgt befolgen:

enter image description here

Nach dem Speichern Ihres App.js, denken Sie daran, zweimal R in Großbuchstaben einzugeben

Um es automatisch zu ändern, drücke auf Android Emulator) CTRL + M (CMD + M unter MacOS) oder schütteln Sie das Android Gerät, auf dem die App ausgeführt wird, und wählen Sie Hot reloading (aktuellen Status beibehalten, nur die Datei ändern, die Sie geändert haben) oder Live reloading (gesamte App neu laden).

0
NineCattoRules

In Ihrem Projektverzeichnis befindet sich die package.json-Datei. Sie können in dieser json-Datei unter Skripts folgendes Codeausschnitt hinzufügen :. Danach können Sie die Anwendung mit einem Befehl ausführen, der npm run Android-windows ist. Um gut zu funktionieren, sollten Sie das folgende Codeskript hinzufügen.

"Android-windows": "react-native bundle --platform Android --dev false --entry-file index.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res && react-native run-Android"

Bildbeschreibung hier eingeben

0