will - Android Studio: Gradle: error: no se puede encontrar la variable de símbolo
gradle project sync failed solucion (7)
Estaba trabajando en mi aplicación y todo estaba normal hasta que intenté mostrar la imagen en Java.
Ejecuté la aplicación una vez y funcionaba normalmente, se mostró la imagen. Después de eso, me pidió que importara algunas bibliotecas y las importé. Después de eso, obtuve errores para mis actividades.
Errores como:
Gradle: error: cannot find symbol variable activity_main
Gradle: error: cannot find symbol variable button1
Gradle: error: cannot find symbol variable button2
Gradle: error: cannot find symbol variable textView
Gradle: error: cannot find symbol variable secondActivity
En MainActivity, importé estas bibliotecas:
import android.R;
import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Button;
y en la segunda actividad estos:
import android.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
¿Alguien sabe cómo arreglar esto?
EDITAR: borré import android.R;
y ahora funciona normalmente.
Asegúrate de tener MainActivity
y .ScanActivity
en tu archivo AndroidManifest.xml
:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ScanActivity">
</activity>
Asegúrese de que sus variables estén dentro del alcance del método que hace referencia a él. Por ejemplo, había definido una vista de texto localmente en un método de la clase y lo estaba haciendo referencia en otro método.
Moví la definición de la vista de texto fuera del método justo debajo de la definición de la clase para que el otro método pudiera acceder a la definición, lo que resolvió el problema.
No deberías estar importando android.R
. Eso debe ser generado y reconocido automáticamente. Esta pregunta contiene muchos consejos útiles si recibe algún error al hacer referencia a R
después de eliminar la importación.
Algunos pasos básicos después de eliminar la importación, si esos errores aparecen:
- Limpia tu construcción, luego reconstruye
- Asegúrese de que no haya errores o errores tipográficos en sus archivos XML
- Asegúrese de que los nombres de sus recursos
[a-z0-9.]
compuestos por[a-z0-9.]
. Las mayúsculas o los símbolos no están permitidos por alguna razón. - Realice una sincronización de Gradle (a través de Herramientas> Android> Proyecto de sincronización con archivos Gradle)
Otra alternativa a la respuesta anterior de @TouchBoarder es que también puede tener dos archivos de diseño con el mismo nombre pero para diferentes versiones de API. Debería eliminar el archivo my_file.xml anterior
my_file.xml
my_file.xml(v21)
Si está usando sabores múltiples ?
-corrija que el archivo de recursos no se declare / agregue en solo uno de los sabores y en main.
Ejemplo: archivo a_layout_file.xml
que contiene la (s) variable (s) de símbolo
src:
flavor1 / res / layout / (sin archivo)
flavor2 / res / layout / a_layout_file.xml
main / res / layout / a_layout_file.xml
Esta configuración dará el error: no se puede encontrar la variable de símbolo, esto es porque el archivo de recursos solo puede estar en ambos sabores o solo en el principal.
Si está utilizando un campo de configuración de compilación String
en su proyecto, este podría ser el caso:
buildConfigField "String", "source", "play"
Si declaras tu String como arriba, provocará el error. La solución es cambiarlo a:
buildConfigField "String", "source", "/"play/""
asegúrese de que la R importada no sea de otro módulo. Moví una clase de un módulo al proyecto principal, y la R fue la del módulo.