J'ai créé le projet à l'aide de la commande suivante.
react-native init Awesome_Project
J'ai démarré le conditionneur à l'aide de la commande suivante.
react-native start
J'ai connecté mon mobile Android à l'aide d'une clé USB.
J'ai ouvert une autre commande, Invite et exécutez la commande adb suivante pour vous assurer qu'un seul périphérique est connecté.
adb devices
J'ai démarré l'application à l'aide de la commande suivante.
react-native run-Android
J'ai été confronté à l'erreur suivante.
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.
Merci d'avance.
Assurez-vous que Android>app>build.gradle
defaultConfig {
applicationId "WHATEVER_THIS_IS"
}
doit correspondre à Android>app>src>main>Java>com>app_name>MainActivity.Java
ligne un:
package WHATEVER_THIS_IS;
doit correspondre à Android>app>src>main>Java>com>app_name>MainApplication.Java
ligne un:
package WHATEVER_THIS_IS;
doit correspondre à Android>app>src>main>AndroidManifest.xml
ligne un:
package="WHATEVER_THIS_IS">
J'ai désinstallé l'application de mon appareil et je ne pouvais pas la voir dans Paramètres> Applications. L'erreur a finalement disparu après avoir complètement désinstallé l'application en faisant:
adb uninstall com.appname
essayez d'exécuter la commande adb pour installer l'apk (devrait fournir plus de sortie) depuis le répertoire Android dans votre projet: adb install app/build/outputs/apk/app-debug.apk
Dans mon cas était un cas de stockage insuffisant
facebook/react-native numéro # 2885
Si vous avez appIdSuffix, vous devez l'ajouter à la commande pour réagir à la commande d'exécution native.
eg. react-native run-Android --appIdSuffix beta
Devrait ajouter un raccourci vers package.json et exécuter via npm.
...
"scripts": {
...
"Android-beta": "react-native run-Android --appIdSuffix beta",
},
Puis lancez simplement:
npm run Android-beta
J'avais changé mon identifiant d'application de com.appName
à com.companyName.appName
et j'avais effectué cette mise à jour dans Android>app>build.gradle
:
defaultConfig {
applicationId "com.companyName.appName" // was previously "com.appName"
}
J'ai également changé ma structure de fichier de Android>app>src>main>Java>com>appName
à Android>app>src>main>Java>com>companyName>appName
. C'est quand j'ai eu l'erreur.
Pour corriger l'erreur , j'ai simplement fait une recherche à l'échelle du projet (CMD-SHIFT-F
dans Atom) pour com.appName
et les ai tous remplacés par com.companyName.appName
. Problème résolu!
Je me suis heurté à ce problème après avoir installé avec succès une version sur mon téléphone, mais j'ai dû le désinstaller afin de pouvoir effectuer une nouvelle installation. Après avoir désinstallé l'application et essayé de faire un react-native run-Android
, j'ai reçu cette erreur.
Il semble que la "désinstallation" d'une application sur certains appareils ne la désactive que si vous souhaitez annuler la désinstallation dans un certain délai. Pour remédier à cela, je suis allé dans Applications sous Paramètres, j'ai sélectionné mon application et je l'ai complètement désinstallée. Après cela, j'ai pu reconstruire avec succès mon application. J'espère que cela aide quelqu'un.
Dans mon cas, l'application ne s'ouvre pas automatiquement , il n'y a pas d'autre problème.
Il vous suffit de rechercher l'icône de l'application sur votre appareil Android (recherchez l'emplacement de toutes les applications) et de taper dessus pour ouvrir l'application manuellement . Le conditionneur commencera à charger l'application comme d'habitude.
Donc, cela semble être un bug ici. Malheureusement, je ne sais pas vraiment ce qui le cause.
Parfois, vous obtenez cette erreur parce que vous ne désinstallez pas une autre version précédente de l'application. Sur les téléphones LG, vous devez accéder aux paramètres de l'application et désinstaller l'application.
Si vous avez des liens avec des bibliothèques, assurez-vous que le fichier settings.gradle
situé dans ProjectName/Android
contient votre application dans l'instruction include, comme ceci: include ':ThirdPartyLibrary', ':app'
. J'ai oublié :app
et il s'agissait de la construction et de l'installation de la bibliothèque tierce partie, mais pas de l'application réelle, ce qui a entraîné le problème.
Vous avez peut-être supprimé/désinstallé votre application, mais lorsque vous enregistrez vos paramètres/applications, vous pouvez voir qu'elle n'est pas totalement désinstallée.
Ce problème s'est produit dans mon cas lorsque j'ai désinstallé l'application et essayé à nouveau d'installer avec react-native run-Android
.
La suite a fonctionné pour moi:
1. Accédez à la liste des applications à partir du menu Paramètres.
2. Vous verrez votre application dans la liste avec un message sur le côté gauche "Application non installée pour cet utilisateur" .
3. Ouvrez cette application dans les paramètres, puis cliquez sur l'icône du menu en haut à droite et sélectionnez "Désinstaller pour tous les utilisateurs" . J'espère que cela aidera!
Dans mon cas, le nom du paquet (client.client_info.Android_client_info.package_name
) dans le fichier google-services.json (de Firebase) était incorrect. Cela devait correspondre à ces quatre valeurs, comme l'a mentionné @parker.
Cela se produit si vous avez activé Build Varaints dans le fichier build.gradle de votre application.
Lorsque react-native s'exécute, il semble préfixer test ou quelque chose comme votre id d'application, qui modifie les noms de paquet dans certains fichiers mais laisse les autres identiques. Votre application ne peut pas trouver .MainActivity car elle n'existe pas dans le nouvel espace de noms de package généré.
Voici quelques conseils pour essayer de résoudre ce problème:
/node_modules/react-native/local-cli/runAndroid
Cela devrait résoudre votre problème.
Eh bien, cela se produit lorsque nous désinstallons manuellement apk de mobile.Il indique que MainActivity n’existe pas. Solution proposée: accédez aux applications dans la configuration, désinstallez l’instance de cette appli pour tous les utilisateurs et exécutez-la à nouveau à l’aide du réactif natif exécuté par Android. votre problème
J'ai essayé toutes les réponses affichées ci-dessus, pas de résultat pour mon cas d'utilisation.
Il a finalement été résolu en exécutant comme ceci:
react-native run-Android --variant=alphaDebug
s'il existe plusieurs variantes dans l'application, nous devons mentionner la variante via la ligne de commande
Je l'ai résolu en installant l'application de débogage manuellement sur le téléphone mobile.
Pour ce faire, accédez à [Chemin_du_projet]\Android\app\build\sorties\apk\debug\app-debug.apk
Copiez ce fichier app-debug.apk sur votre appareil mobile.
Maintenant, installez-le normalement sur votre mobile et vous êtes prêt à partir.
Dans mon cas .. aucune des solutions ci-dessus ne fonctionnait ..__ Ensuite, j’en ai trouvé la cause, j’avais déjà installé une application avec le même nom de paquet. Je l’avais désinstallé de mon téléphone, mais comme j’ai un appareil Oreo, il a également été installé chez un autre utilisateur. Donc, en désinstallant de tous les utilisateurs .. résolu mon problème . Il pourrait ne pas être utile dans votre cas .. mais toujours ceci est ma solution de contournement.