Recibo este error al intentar compilar mi aplicación de Android React Native. La aplicación de Android no puede resolver 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
Puedo resolverlo temporalmente simplemente configurándolo en verdadero. Esto podría haber sucedido después de que cambié el nombre de una aplicación (ya que eso es algo que también he intentado hacer).
Probablemente tenga que cambiar algo con Gradle para que vuelva a generar el tipo correcto de archivos.
/**
* 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";
}
react-native
Sobrecarga119
fuente
fuente

La forma en que Android sabe dónde encontrar ciertos archivos y cómo conectar ciertos archivos es mediante el uso de campos establecidos en AndroidManifest.xml. Dado que la configuración predeterminada de un proyecto React Native hace referencia a todo con. (Nombre del recurso), esto significa que todo se resolverá con respecto al nombre del paquete establecido en la
<manifest>etiqueta. Entonces, para que todo funcione de inmediato y todo se genere como se espera, la ruta a MainActivity.java debe ser la misma que el nombre del paquete.ejemplo:
el nombre del paquete de su aplicación:
com.mycompanyname.myappnameubicación de MainActivity.java:
android/app/src/main/java/com/mycompanyname/myappname/MainActivity.javafuente
Reconstruí el proyecto con
react-native upgrade. Mi problema fue entonces que tenía archivos antiguos que hacían referencia a los nombres de paquetes antiguos (porque cambié el nombre de la aplicaciónpackage.json). Una vez que los eliminé, resolví el problema.fuente
En su
MainActivity.java, puede comprobar que la primera línea espackage com.YOU_APP_NAME;Si esta línea no existe, debe agregarla.
fuente
En mi caso, cambié el nombre del paquete tanto en el archivo BUCK como en el archivo Manifest.
En el archivo BUCK, cambie de la siguiente manera.
fuente
Una combinación de algunas respuestas me ayudó, resumen:
MainApplication.javaetc.)BUCKarchivofuente
package.jsony qué quiere decir con "conectar"?La actualización de react-native resolvió este error:
Ahora construye de nuevo -
fuente
react-native linknuevo después para volver a vincular las dependencias nativas.Si cambió el nombre de su,
bundle identifieres probable que deba cambiar:Tu
android/app/src/main/....../MainApplication.javapaquete e importaciones .Aunque
react-native-renameusé el paquete npm , no se encargó de algunos archivosMainApplication.javayMainActivity.java.fuente
Elimine los archivos antiguos que podrían estar allí en android / app / src / main / java / com Simplemente conserve el archivo con el nuevo nombre de la aplicación. Entonces hazlo
react-native upgrade.fuente
Compruebe si se ha perdido la instalación de react-native-gest-handler.
con hilo
hilo añadir react-native-gestor-handler
o con npm
npm install --save react-native-gesto-handler
Entonces
react-native link react-native-gesto-handler
fuente
Experimenté esto mientras seguía https://dev.to/karanpratapsingh/quick-guide-for-updating-package-name-in-react-native-3ei3 . Estaba cambiando el nombre de mi aplicación de
com.company_appacom.mycompany.myapp, aparentemente, había algunos archivos que todavía necesitaba actualizar pero no estaban incluidos en la guía que estaba siguiendo, creo que la guía es solo para general, como una nueva aplicación nativa de reacción, resolví esto haciendo una búsqueda globalcom.company_appy simplemente reemplazando cada unocom.mycompany.myappcuando tenga sentido.fuente