Yo estaba corriendo mi proyecto existente Reaccionar nativo en mi dispositivo Android real. Entonces de alguna manera este error pop-up. El error está siempre sobre "no puede encontrar el símbolo". Tengo JDK y SDK y añadir a mis variables del sistema. Pero todavía no sé por qué me da error como este. Por lo que recuerdo, sólo Downgrade la versión de reaccionar nativo.
: App: compileDebugJavaWithJavac - no es incremental (por ejemplo salidas han cambiado, no ejecución anterior, etc.). D: \ rnprojects \ firstproject \ androide \ app \ src \ Main \ Java \ com \ emptyprojecttemplate \ MainApplication.java: 5: Error: No se puede encontrar el símbolo com.facebook.react.ReactApplication importación; ^ Símbolo: la ubicación ReactApplication clase: paquete D com.facebook.react: \ rnprojects \ firstproject \ androide \ app \ src \ Main \ Java \ com \ emptyprojecttemplate \ MainApplication.java: 6: Error: No se puede encontrar el símbolo com.facebook importación. react.ReactNativeHost; ^ Símbolo: la clase ReactNativeHost ubicación: paquete com.facebook.react D: \ rnprojects \ firstproject \ androide \ app \ src \ Main \ Java \ com \ emptyprojecttemplate \ MainApplication.java: 14: error: no puede encontrar MainApplication símbolo de la clase pública se extiende Aplicación implementos ReactApplication {^ símbolo: la clase ReactApplication D:
FALLO: Construir fallado con una excepción.
- ¿Qué salió mal: Error de ejecución de tarea ': app: compileDebugJavaWithJavac'. Compilación falló; ver la salida de error del compilador para obtener más información.
Build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
}
Build.gradle / app:
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.emptyprojecttemplate"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}
dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
Su StackTrace comienza con: error: cannot find symbol import com.facebook.react.ReactApplication
esto parece sugerir que no puede encontrar el Reaccionar importación Biblioteca.
Voy a incluir una respuesta en Github para usted, leí aquí:
https://github.com/transistorsoft/react-native-background-geolocation/issues/294
(Por cierto, esto se relaciona con su build.gradle en /your-project/android/build.gradle
)
En cualquier caso, lo demás está experimentando el mismo problema: asegúrese de agregar nuevos repositorios correctamente. De acuerdo con documentos Android cada repo experto debe estar en su bloque propio experto {}.
Es por eso
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
url 'some new extra repo'
}
breaks dependencias. La versión correcta es
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
maven {
url 'some new extra repo'
}
ACTUALIZAR
Como lo anterior no es resolver su problema y su build.gradle (s) se ven bien (para mí). Voy a incluir algunas otras soluciones:
Actualizar RN y RN-CLI como se aconseja aquí:
No se puede resolver símbolo ReactApplication / ReactNativeHost
Otra aquí:
FALLO: Construir fallado con una excepción en reaccionar nativo de Android
Otra aquí:
Reaccionar de error nativo de Android: no se puede encontrar el símbolo
Último recurso
Se puede valer la pena en sólo la creación de un nuevo proyecto de prueba (con las últimas versiones) como react-native init anotherproject
para ver si se ejecuta.