React-Native: Anwendung wurde nicht registriert Fehler

Lesezeit: 4 Minuten

Benutzer-Avatar
Adam

Ich gehe gerade die React-Native-Tutorials durch. Ich begann mit dem Tutorial “Erste Schritte”, in dem ich ein neues React-Native-Projekt erstellte und es erfolgreich auf meinem Gerät ausführte.

Ich habe dann mit dem angefangen Requisiten-Tutorialhabe ich das Code-Snippet kopiert und versucht, das Projekt erneut auszuführen, und die folgende Fehlermeldung wurde auf meinem Bildschirm angezeigt:

In8Me

  • Kannst du deinen Code teilen?

    – Jagadish Upadhyay

    13. Juli 2016 um 4:14 Uhr

Benutzer-Avatar
Slowyn

Ich denke, es ist ein Fehler, der dadurch verursacht wird, dass der Name des Projekts und Ihre registrierte Komponente nicht übereinstimmen.

Sie haben ein Projekt mit einem Namen gestartet, dh

react-native init AwesomeApp

Aber in Ihrer Datei index.ios.js registrieren Sie eine andere Komponente

AppRegistry.registerComponent('Bananas', () => Bananas);

Wenn es muss sein

AppRegistry.registerComponent('AwesomeApp', () => Bananas);

Wenn Ihr Komponentenname übereinstimmt, stellen Sie sicher, dass kein anderer React-Native/Node-Prozess in einem anderen Terminal ausgeführt wird.

  • “Bananas” funktioniert irgendwie für Android. Aber es funktioniert nicht auf IOS.

    – Sumit Kushwaha

    24. Oktober 2016 um 13:43 Uhr

  • Für jemanden, der vor demselben Problem steht, auch wenn der Komponentenname übereinstimmt -> Stellen Sie sicher, dass kein anderer React-Native/Node-Prozess in einem anderen Terminal ausgeführt wird.

    – Niles

    4. November 2016 um 18:00 Uhr

  • Meiner Erfahrung nach hat ein Systemneustart die Dinge sortiert … so seltsam es auch klingt.

    – Kajak

    19. Dezember 2016 um 17:25 Uhr

  • Das Tutorial heißt derzeit “AwesomeProject”

    – AdamG

    22. April 2017 um 23:09 Uhr

  • und für Leute, die Bananen anstelle von AwesomeApp wollen, kann das geändert werden moduleName:@"AwesemeApp" Zeile in ihrer AppDelegate.m-Datei

    – Äquitas

    3. Oktober 2019 um 3:05 Uhr

Benutzer-Avatar
Afshin Mehrabani

Meistens ist das Problem, dass Sie einen anderen haben react-native start (dh React Native Packager) Server, der entweder auf einem anderen Terminal oder einem anderen Tab von TMUX läuft (wenn Sie TMUX verwenden).

Sie müssen diesen Prozess finden und schließen, also nach dem Ausführen react-native run-ios Beispielsweise wird ein neuer Packager-Server eingerichtet, der sich für diese spezielle Anwendung registriert hat.

Finden Sie diesen Prozess einfach mit:

ps aux | grep react-native

Finden Sie die Prozess-ID (PID) und beenden Sie den Packager-Prozess mit kill Befehl (zB kill -9 [PID]). Sie sollten die finden launchPackager.command app in macOS, nicht sicher über die anderen Betriebssysteme.

Versuchen Sie dann, die auszuführen run-ios (oder Android) wieder. Sie sollten den neuen Pfad sehen können, nachdem Sie den neuen Packager-Server ausgeführt haben, z.

Looking for JS files in
   /Users/afshin/Desktop/awesome-app 

  • Es funktioniert, auch wenn ich laufe react-native start --port <otherport>soll ich laufen react-native run-<platform> auf andere Weise?, danke

    – Die russische Schande

    2. März 2017 um 13:21 Uhr


  • @SebastiánPalma soweit ich weiß, die start Der Befehl führt den Packager-Server aus. Wenn Sie Ihre Anwendung also bereits kompiliert haben, müssen Sie dies nicht tun run-<platform>.

    – Afshin Mehrabani

    27. April 2017 um 8:57 Uhr

Benutzer-Avatar
Daniyar Saumbajev

Ändern MainActivity in android/app/src/main/java/com/your-package-name/MainActivity.java so was,

@Override
protected String getMainComponentName() {
    return "Bananas"; // here
}

  • EXAKT! Das war genau mein Problem, obwohl ich, anstatt dies zu ändern, die AppRegistry.registerComponent dahingehend geändert habe

    – Sijav

    14. Februar 2018 um 6:16 Uhr

  • Was ist mit Ios?

    – Dinesh R Rajput

    17. Februar 2018 um 7:00 Uhr

  • +1. Ich frage mich, warum die CLI fragt, ob ich der Android/ios-Version einen anderen Namen geben möchte, wenn dies nur dazu führt, dass mein Projekt nicht funktioniert und ich es wieder ändern muss.

    – Berühren

    2. Mai 2018 um 21:12 Uhr

  • Ich hatte app.js geändert

    – Rolli

    16. November 2018 um 20:27 Uhr

  • Achten Sie darauf, auch app.json im Stammordner zu überprüfen { "name": "Bananas", "displayName": "The Bananas" }

    – Raffael Pinel

    1. September 2021 um 8:26 Uhr


Benutzer-Avatar
Benutzer8637708

Meine Lösung ist, den Modulnamen in “AppDelegate.m” zu ändern.

aus
moduleName:@"AwesomeProject"

zu
moduleName:@"YourNewProjectName"

Zunächst müssen Sie Ihre Bewerbung starten:

react-native start

Dann müssen Sie Ihren Anwendungsnamen als erstes Argument von registerComponent festlegen.

Es funktioniert gut.

AppRegistry.registerComponent('YourProjectName', () => YourComponentName);

Benutzer-Avatar
xmasiv

In meinem Fall gibt es diese Zeile in MainActivity.java, die bei der Verwendung übersehen wurde react-native-rename cli (von NPM)

protected String getMainComponentName() {
    return "AwesomeApp";
}

Offensichtlich müssen Sie es in den Namen Ihrer App umbenennen.

Benutzer-Avatar
mperk

Bitte überprüfen Sie Ihre app.json-Datei im Projekt. Wenn keine Zeile appKey vorhanden ist, müssen Sie sie hinzufügen

{
  "expo": {
    "sdkVersion": "27.0.0",
    "appKey": "mydojo"
  },
  "name": "mydojo",
  "displayName": "mydojo"
}

  • Habe mich in den letzten 24 Stunden in diesen Fehler eingemischt. Dies hat mein Problem behoben. Vielen Dank!

    – Balaji Kartheeswaran

    30. November 2018 um 7:01 Uhr

1298130cookie-checkReact-Native: Anwendung wurde nicht registriert Fehler

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy