web-dev-qa-db-fra.com

React Native Android Erreur de génération MainActivity.Java:29: erreur: impossible de trouver le symbole

Je reçois cette erreur en essayant de compiler mon application React native Android. L'application Android ne peut pas résoudre BuildConfig.DEBUG.

:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJavaWithJavac
/Users/amirsharif/mobile-rappad/Android/app/src/main/Java/com/rappadmobile/MainActivity.Java:29: error: cannot find symbol
                .setUseDeveloperSupport(BuildConfig.DEBUG)
                                        ^
  symbol:   variable BuildConfig
  location: class MainActivity
>1 error
:app:compileDebugJavaWithJavac FAILED

Je peux temporairement le résoudre en le définissant simplement sur true. Cela est peut-être arrivé après que j'ai changé le nom d'une application (puisque c'est quelque chose que j'ai aussi essayé de faire).

Je dois probablement changer quelque chose avec Gradle pour qu'il génère à nouveau le bon type de fichiers.

/**
 * Automatically generated file. DO NOT MODIFY
 */
package com.app;

public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");
  public static final String APPLICATION_ID = "com.rappadmobile";
  public static final String BUILD_TYPE = "debug";
  public static final String FLAVOR = "";
  public static final int VERSION_CODE = 1;
  public static final String VERSION_NAME = "1.0";
}
64
Overload119

J'ai reconstruit le projet avec react-native upgrade. Mon problème était alors que j'avais d'anciens fichiers qui référençaient les anciens noms de paquets (parce que j'ai changé le nom de l'application dans package.json). Une fois ceux-ci supprimés, j'ai résolu le problème.

39
Overload119

La manière dont Android sait où trouver certains fichiers et comment connecter certains fichiers consiste à utiliser les champs définis dans AndroidManifest.xml. Étant donné que la configuration par défaut d'un projet React Native, référence tout avec. (Nom de la ressource), cela signifie que tout sera résolu en ce qui concerne le nom du paquet défini dans la balise <manifest>. . Donc, pour que tout fonctionne correctement et que tout soit généré comme prévu, le chemin d'accès à MainActivity.Java doit être identique au nom du package.

exemple:

le nom de votre package d'applications: com.mycompanyname.myappname

emplacement de MainActivity.Java: Android/app/src/main/Java/com/mycompanyname/myappname/MainActivity.Java

66
gorjanz

J'ai eu le même problème et il a été résolu en ajoutant simplement l'instruction d'importation suivante dans MainApplication.Java:

import com.facebook.react.BuildConfig;
63
Manoj Goel

Dans votre MainActivity.Java, vous pouvez vérifier que la première ligne est package com.YOU_APP_NAME;

Si cette ligne n'existe pas, vous devez l'ajouter.

32
Rom1

Dans mon cas, j'ai changé le nom du paquet dans les fichiers BUCK et Manifest.

Dans le fichier BUCK, changez comme suit.

Android_build_config(
    name = "build_config",
    package = "NEW_PACKAGE_NAME",
)

Android_resource(
    name = "res",
    package = "NEW_PACKAGE_NAME",
    res = "src/main/res", )
10
rakeshNS

La mise à niveau de react-native a résolu cette erreur -

react-native upgrade

Maintenant, reconstruis -

react-native run-Android
6
Tamandeep Singh

Une combinaison de quelques réponses m'a aidé, résumé:

  • Assurez-vous que les noms de package Java sont corrects.
  • mettre à jour le nom du paquet dans le fichier de construction de Gradle
  • mettre à jour le nom du paquet dans le fichier manifeste
  • assurez-vous que le chemin d'accès à vos sources javascript est une structure de dossiers qui correspond au nom de votre paquet
4
WiRa

Supprimez les anciens fichiers éventuellement présents dans Android/app/src/main/Java/com Conservez simplement le fichier avec le nouveau nom de l'application. Ensuite, faites react-native upgrade.

3
Ankur Kedia

Vérifiez si vous avez manqué l’installation du gestionnaire de gestes réactif-natif.

avec du fil

fil ajouter réagir-natif-gestionnaire de gestes

ou avec npm

npm install --save react-native-gesture-handler

Ensuite

lien de réactif natif réactif de gestionnaire de gestes natif

0
Nadeeshan Herath