Fehlertyp 3. Aktivitätsklasse {com.awesome_project/ com.awesome_project.MainActivity} existiert nicht in React Native (Android-Gerät)

Lesezeit: 5 Minuten

Ich habe das Projekt mit dem folgenden Befehl erstellt.

react-native init Awesome_Project

Ich habe den Packager mit dem folgenden Befehl gestartet.

react-native start

Ich habe mein Android-Handy über ein USB-Laufwerk verbunden.

Ich habe eine weitere Eingabeaufforderung geöffnet und den folgenden adb-Befehl ausgeführt, um sicherzustellen, dass nur ein Gerät verbunden ist.

adb devices

Ich habe die Anwendung mit dem folgenden Befehl gestartet.

react-native run-android

Ich bin mit folgendem Fehler konfrontiert worden.

open: Permission denied
open: Permission denied
Starting: Intent { com.awesome_project/.MainActivity }
Error type 3
Error: Activity class {com.awesome_project/ com.awesome_project.MainActivity} does not exist.

Danke im Voraus.

  • In meinem Fall deinstalliere ich einfach die Anwendung und installiere sie mit CD Android && Gradlew Clean && CD .. && React-Native Run-Android neu

    – abhi

    5. Januar 2018 um 11:07 Uhr

Benutzer-Avatar
Parker

Vergewissere dich android/app/build.gradle

defaultConfig {
        applicationId "WHATEVER_THIS_IS" 
}

muss passen android/app/src/main/java/com/app_name/MainActivity.java Zeile eins:

package WHATEVER_THIS_IS;

muss passen android/app/src/main/java/com/app_name/MainApplication.java Zeile eins:

package WHATEVER_THIS_IS;

muss passen android/app/src/main/AndroidManifest.xml Zeile eins:

package="WHATEVER_THIS_IS">

  • hinzugefügt android>app>src>main>java>com>app_name>MainApplication.java Richtung auch.

    – Lukas Lies

    3. November 2016 um 13:46 Uhr


  • Wenn dein Activity class {} does not exist Sie verlieren an erweiterten Funktionen wie Deep-Linking. Es ist ziemlich wichtig, dass das Gerät weiß, wie die App gestartet wird, ohne dass Sie die Taste drücken. Nur gute Entwicklerpraxis …

    – Parker

    21. Dezember 2016 um 15:44 Uhr

  • Ich habe das alles überprüft und nichts gelöst

    – Tom Sawyer

    23. August 2017 um 10:39 Uhr

  • Dies hat mein Problem auch nicht gelöst, aber @Fran Lösung von adb uninstall WHATEVER_THIS_IS habe es gelöst!

    – Juan José Ramírez

    15. Oktober 2019 um 20:58 Uhr

  • Das hat funktioniert, ist aber am Anfang ein paar Mal fehlgeschlagen, weil ich einen Tippfehler in einer der angegebenen App-ID-Positionen hatte oder vergessen habe, sie auszuführen gradelew clean zwischen den Bearbeitungen, ein wichtiger Schritt. Aus welchen Gründen auch immer braucht unsere App eine andere applicationId in app/src/build.gradle um Builds für Microsoft AppCenter Code Push zu trennen. Durch das Umschalten auf die anderen Dateien konnte ich den Build auf einem lokalen Emulator ausführen.

    – Joey T

    19. Dezember 2019 um 23:20 Uhr

Ich habe die App von meinem Gerät deinstalliert und konnte sie in meinen Einstellungen > Apps überhaupt nicht sehen. Der Fehler verschwand schließlich, nachdem ich die App vollständig deinstalliert hatte, indem ich Folgendes tat:

adb uninstall com.appname

  • Vielen Dank! Ich hatte ein Arbeitsprofil (zusätzlich zu einem persönlichen Profil) auf meinem Android und hatte es von einem deinstalliert, aber nicht von dem anderen.

    – Luciano

    6. Oktober 2018 um 21:03 Uhr

  • Mein Problem gelöst!

    – szskdgi

    3. März 2019 um 9:11 Uhr

  • Hat bei mir auch funktioniert.

    – Sanjay Singh

    15. September 2019 um 7:35 Uhr

  • Mein Gott. Zum Glück habe ich das gefunden. Warum ist die Fehlermeldung so irreführend?

    – Sharcoux

    27. März 2020 um 15:48 Uhr

  • @Fran Alter, du bist der Retter. Ich schulde dir etwas. Danke, Kumpel.

    – Saurabh

    3. Juli 2020 um 6:40 Uhr

Wenn Sie appIdSuffix haben, sollten Sie es dem Befehl hinzufügen, um den nativen Ausführungsbefehl zu reagieren.

eg.   react-native run-android --appIdSuffix beta

Sollte eine Verknüpfung zu package.json hinzufügen und über npm laufen.

...
"scripts": {
 ...
  "android-beta": "react-native run-android --appIdSuffix beta",
},

Dann einfach ausführen:

npm run android-beta

  • Du hast mich vor leichten Kopfschmerzen bewahrt

    – Koen Van Looveren

    25. Mai 2018 um 10:02 Uhr

  • Ich füge nur hinzu: Wo finde ich, welches Suffix Sie hinzufügen müssen … suchen Sie nach applicationIdSuffix im Ordner build.gradle … es könnte in definiert werden buildTypes oder so schmecken: buildTypes { debug { applicationIdSuffix ".debug" ...

    – Babu

    8. März um 13:58 Uhr


adb deinstallieren Paketname
Hat für mich funktioniert. für zB: adb deinstallieren com.abc

In meinem Fall die App öffnet sich einfach nicht automatisches gibt kein anderes Problem.

Suchen Sie einfach auf Ihrem Android-Gerät nach dem App-Symbol (sehen Sie sich den Standort aller Anwendungen an) und tippen Sie darauf Öffnen Sie die App manuell. Der Packager beginnt wie gewohnt mit dem Laden der App.

Das scheint hier also ein Bug zu sein. Leider weiß ich nicht genau woran es liegt.

  • Obwohl Sie damit Recht haben, dass die App nicht automatisch gestartet wird, WOLLEN Sie den automatischen Start. Ohne dies verlieren Sie erweiterte Funktionen wie Deep-Linking. Siehe meine Antwort oben, Ihre Konfiguration ist irgendwo ausgeschaltet.

    – Parker

    21. Dezember 2016 um 15:37 Uhr

  • Legen Sie den Pfad von SDK in der Umgebungsvariablen fest. Das war’s !!

    – Vishal Patoliya ツ

    23. April 2017 um 2:25 Uhr

  • Ich hatte die gleiche Erfahrung, die apk ist installiert, aber der Emulator startet die App nicht automatisch

    – Eyal Alsheich

    25. April 2017 um 9:36 Uhr

  • stackoverflow.com/questions/39289591/… stackoverflow.com/a/49916711/7313872

    – Liam Kernighan

    3. Juli 2020 um 17:25 Uhr

Benutzer-Avatar
Danny Harding

Ich hatte meine Bewerbungs-ID von geändert com.appName zu com.companyName.appNameund ich hatte dieses Update in gemacht android>app>build.gradle:

defaultConfig {
  applicationId "com.companyName.appName" // was previously "com.appName"
}

Außerdem änderte ich meine Dateistruktur ab android>app>src>main>java>com>appName zu android>app>src>main>java>com>companyName>appName. Dabei bekam ich den Fehler.

Um den Fehler zu behebenhabe ich einfach eine projektweite Suche durchgeführt (CMD-SHIFT-F im Atom) für com.appNameund ersetzte sie alle durch com.companyName.appName. Problem gelöst!

  • Obwohl Sie damit Recht haben, dass die App nicht automatisch gestartet wird, WOLLEN Sie den automatischen Start. Ohne dies verlieren Sie erweiterte Funktionen wie Deep-Linking. Siehe meine Antwort oben, Ihre Konfiguration ist irgendwo ausgeschaltet.

    – Parker

    21. Dezember 2016 um 15:37 Uhr

  • Legen Sie den Pfad von SDK in der Umgebungsvariablen fest. Das war’s !!

    – Vishal Patoliya ツ

    23. April 2017 um 2:25 Uhr

  • Ich hatte die gleiche Erfahrung, die apk ist installiert, aber der Emulator startet die App nicht automatisch

    – Eyal Alsheich

    25. April 2017 um 9:36 Uhr

  • stackoverflow.com/questions/39289591/… stackoverflow.com/a/49916711/7313872

    – Liam Kernighan

    3. Juli 2020 um 17:25 Uhr

Benutzer-Avatar
Emil Bergeron

Versuchen Sie, den Befehl adb auszuführen, um die apk (sollte mehr Ausgabe liefern) aus dem Android-Verzeichnis in Ihrem Projekt zu installieren: adb install app/build/outputs/apk/app-debug.apk

In meinem Fall war eine unzureichende Aufbewahrungsbox

facebook/react-native Ausgabe #2885

1180040cookie-checkFehlertyp 3. Aktivitätsklasse {com.awesome_project/ com.awesome_project.MainActivity} existiert nicht in React Native (Android-Gerät)

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

Privacy policy