it-swarm.com.de

Fehlertyp 3. Die Aktivitätsklasse {com.awesome_project/com.awesome_project.MainActivity} ist nicht in Reactative (Android-Gerät) vorhanden.

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 angeschlossen.

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

adb devices

Ich habe die Anwendung mit dem folgenden Befehl gestartet.

react-native run-Android

Ich bin mit dem folgenden 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.

32
user5627316

Stellen Sie sicher, dass Android>app>build.gradle

defaultConfig {
        applicationId "WHATEVER_THIS_IS" 
}

muss mit Android>app>src>main>Java>com>app_name>MainActivity.Java Zeile eins übereinstimmen: 

package WHATEVER_THIS_IS;

muss mit Android>app>src>main>Java>com>app_name>MainApplication.Java Zeile eins übereinstimmen: 

package WHATEVER_THIS_IS;

muss mit Android>app>src>main>AndroidManifest.xml Zeile eins übereinstimmen:

package="WHATEVER_THIS_IS">
42
parker

Ich habe die App von meinem Gerät deinstalliert und konnte sie überhaupt nicht in meinen Einstellungen> Apps sehen. Der Fehler wurde endgültig behoben, nachdem ich die App vollständig deinstalliert hatte:

adb uninstall com.appname
9
Fran

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

In meinem Fall lag ein unzureichender Lagerungsfall vor

facebook/reag-native issue # 2885

9
user6923610

Wenn Sie appIdSuffix haben, sollten Sie es dem Befehl für den Befehl native native Ausführung hinzufügen.

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

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

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

Dann lauf einfach: 

npm run Android-beta
7
Thanh Lam

Ich hatte meine Anwendungs-ID von com.appName in com.companyName.appName geändert und dieses Update in Android>app>build.gradle vorgenommen:

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

Ich habe auch meine Dateistruktur von Android>app>src>main>Java>com>appName in Android>app>src>main>Java>com>companyName>appName geändert. Dies ist, wenn ich den Fehler bekam.

Um den Fehler zu beheben habe ich einfach eine projektweite Suche (CMD-SHIFT-F in Atom) für com.appName durchgeführt und sie alle durch com.companyName.appName ersetzt. Problem gelöst!

7
Danny Harding

Ich hatte dieses Problem, nachdem ich ein erfolgreiches Build auf meinem Handy installiert hatte, aber kurz gesagt, musste ich es deinstallieren, um eine Neuinstallation durchzuführen. Nach dem Deinstallieren der App und dem Versuch, einen react-native run-Android auszuführen, habe ich diese Fehlermeldung erhalten. 

Anscheinend wird das Deinstallieren einer Anwendung auf einigen Geräten nur dann deaktiviert, wenn Sie die Deinstallation innerhalb eines bestimmten Zeitraums rückgängig machen möchten. Um Abhilfe zu schaffen, habe ich unter Einstellungen unter Applications die App ausgewählt und meine App komplett deinstalliert. Danach konnte ich meine App erneut erfolgreich erstellen. Hoffe, das hilft jemandem.

5
wizloc

In meinem Fall öffnet sich die App einfach nicht automatisch , es gibt kein anderes Problem.

Suchen Sie einfach nach dem App-Symbol auf Ihrem Android-Gerät (suchen Sie den Ort aller Anwendungen) und tippen Sie darauf, um die App manuell zu öffnen . Der Packager beginnt wie üblich mit dem Laden der App.

Dies scheint also ein Fehler zu sein. Leider weiß ich nicht wirklich, was es verursacht.

2
Andru

Manchmal wird diese Fehlermeldung angezeigt, weil Sie keine andere vorherige Version der App deinstallieren. Auf den LG - Telefonen müssen Sie die Einstellungen der App aufrufen und die App deinstallieren. 

1

Für alle anderen Benutzer, bei denen es keine Lösungen gibt, wenn keine Bibliotheken vorhanden sind, müssen Sie sicherstellen, dass sich die App in der settings.gradle-Datei in ProjectName/Android in der include-Anweisung befindet, wie folgt: include ':ThirdPartyLibrary', ':app'. Ich habe :app vergessen und es war das Erstellen und Installieren der Drittanbieter-Bibliothek, aber nicht die eigentliche App, was zu dem Problem führte. 

1
Kyle Erickson

Sie haben Ihre App möglicherweise gelöscht oder deinstalliert. Wenn Sie jedoch Ihre Einstellungen/Apps einchecken, können Sie feststellen, dass sie nicht vollständig deinstalliert wurde.

  • Gehe zu den Einstellungen.
  • Gehen Sie zu Apps.
  • Wählen Sie Ihre App aus. (Hier können Sie überprüfen, ob Ihre App nicht ordnungsgemäß deinstalliert wurde.).
  • Öffnen Sie das Überlaufmenü oben rechts und wählen Sie für alle Benutzer deinstallieren aus. Versuchen Sie zu installieren und starten Sie Ihre App erneut.

Quelle

1
Aditya

Dieses Problem trat in meinem Fall auf, als ich die App deinstallierte und die Installation mit react-native run-Android erneut versuchte.

.__ Folgendes arbeitete für mich:
1. Gehen Sie im Einstellungsmenü zur Anwendungsliste.
2. Sie sehen Ihre Anwendung in der Liste mit einer Meldung auf der linken Seite "App für diesen Benutzer nicht installiert" .
3. Öffnen Sie die App in den Einstellungen und klicken Sie dann auf das Menüsymbol oben rechts und wählen Sie "Für alle Benutzer deinstallieren" . Hoffe, es hilft!

1
AkshayM

In meinem Fall hatte ich in google-services.json (von Firebase) den falschen package_name (client.client_info.Android_client_info.package_name). Es musste diesen vier Werten entsprechen, wie @parker erwähnt wurde.

Dies geschieht, wenn Sie in Ihrer App build.gradle-Datei Build-Varaints aktiviert haben.

Wenn reaktives System ausgeführt wird, scheint es vor Ihrer Anwendungs-ID test oder etwas zu setzen, wodurch die Paketnamen in einigen Dateien geändert werden, andere jedoch gleich bleiben. Ihre Anwendung kann .MainActivity nicht finden, da sie tatsächlich nicht in dem neuen Paket-Namespace vorhanden ist, der generiert wurde.

Hier sind einige Dinge, mit denen Sie versuchen können, dieses Problem zu beheben:

  • Verwenden Sie den FQDN in Ihrer Manifestdatei für die Namen der Anwendungsklasse und der Aktivitätsklasse.
  • Ersetzen Sie Ihre Android-CLI-Datei durch diese one . Dies ist die Datei in /node_modules/react-native/local-cli/runAndroid

Dies sollte Ihr Problem lösen.

0
prog_24

Ich hatte eine etwas andere Einstellung zum selben Thema.

Ich benutze nicht reagieren, aber ich bin auf das gleiche Problem gestoßen.

Ich habe alle Lösungen auf dieser Seite ausprobiert und seltsamerweise hat jede einmal funktioniert. Das Problem trat jedoch weiterhin auf.

Am Ende fand ich das zu tun:

  1. adb uninstall com.appname

  2. gefolgt von einem Neustart des Mobilteils

Das Problem wurde jedes Mal behoben, seitdem es entdeckt wurde.

Verwenden eines Samsung S8 und Android 3.4.1. Keine verrückten Bibliotheken außer OKHttp. Laufen auf einem Mac.

0
addzo

Nun, dies passiert, wenn wir apk manuell von Hand deinstallieren. Es zeigt an, dass MainActivity nicht vorhanden ist .. Lösung: Gehen Sie zu Einstellungen und deinstallieren Sie die Instanz der App für alle Benutzer und führen Sie sie erneut aus dein Problem

0
Pratik Karale

Dies ist mir passiert, nachdem ich den Namen meines Projektpakets geändert habe. Ich habe einige der anderen Antworten hier ausprobiert, aber nichts hat funktioniert, bis ich das Verzeichnis Android/build Manuell gelöscht und react-native run-Android Erneut ausgeführt habe, wodurch die App von src aus neu erstellt werden musste. Es stellte sich heraus, dass der Build mit Verweisen auf den alten Paketnamen zwischengespeichert wurde.

0
wikt

Ich habe alle Antworten ausprobiert, kein Ergebnis für meinen Anwendungsfall.

Es wurde schließlich durch folgende Ausführung behoben:

react-native run-Android --variant=alphaDebug

wenn in der App mehrere Varianten vorhanden sind, müssen Sie die Variante über die Befehlszeile angeben

0

Ich habe es gelöst, indem ich die Debug-Anwendung manuell auf dem Mobiltelefon installiert habe.

Gehen Sie dazu zu [Project_Path]\Android\app\build\output\apk\debug\app-debug.apk

Kopieren Sie diese Datei app-debug.apk auf Ihr Mobilgerät.

Installieren Sie es jetzt normal in Ihrem Handy und Sie können loslegen.

0
Raj Rohit

In meinem Fall ... funktionierte keine der obigen Lösungen ..__ Dann fand ich die Ursache dafür, ich hatte zuvor eine Anwendung mit demselben Paketnamen installiert. Ich hatte es von meinem Handy deinstalliert, aber da ich Oreo-Gerät habe, wurde es auch in einem anderen Benutzer installiert. Durch die Deinstallation aller Benutzer wurde das Problem gelöst .. Es ist in Ihrem Fall möglicherweise nicht hilfreich. Dies ist jedoch immer noch meine Problemumgehung.

0
Yash