Android Studio 3.1 no puede resolver el símbolo (temas, widgets, atributos, etc.)

Actualicé Android Studio hoy a 3.1, y ahora Android Studio dice que no puede resolver símbolos para la mayoría de los recursos (por ejemplo, styles.xml en styles.xml o ?attr/actionBarSize ). Esto no parece impedirme construir o ejecutar un emulador hasta ahora, pero estos errores me ponen nervioso.

¿Alguien más ha tenido este problema? ¿Cómo puedo resolverlo? Intenté sincronizar gradle y limpiar mi proyecto, pero parece que no ayuda en absoluto.

¿Algunas ideas?

Estoy usando Android Studio 3.1 con Gradle versión 4.4 y Gradle Plugin 3.1.0

EDITAR: Este problema afecta la actualización a Android Studio 3.1.1, 3.1.2, 3.1.3, 3.1.4 y al complemento Gradle a 3.1.1, 3.1.2, 3.1.3 y 3.1.4. Sin embargo, la respuesta a continuación todavía funciona.

Cierre el proyecto e impórtelo nuevamente. Trabajó para mí hoy.

Cierre y vuelva a abrir el proyecto como un proyecto existente de Android Studio

Después de actualizar Android Studio puede invalidar Caché y reiniciar

File > Invalidate Cache / Restart

introducir la descripción de la imagen aquí

La biblioteca de soporte no está sincronizada.

Este error ocurre porque la biblioteca de soporte no se sincroniza con su proyecto. Para volver a sincronizarlo, puede seguir los siguientes pasos:

  1. Abra el archivo build.gradle de su módulo de aplicación
  2. Comente las líneas de implementation para la biblioteca de soporte. Para mí se ve así:

     //implementation 'com.android.support:appcompat-v7:27.1.1' //implementation 'com.android.support:recyclerview-v7:27.1.1' //implementation 'com.android.support.constraint:constraint-la 
  3. Sincroniza tu proyecto con gradle. Tendrás algunos errores ahora. No te preocupes por eso

  4. Descomente las líneas de implementation que ha comentado anteriormente.

     implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support:recyclerview-v7:27.1.1' implementation 'com.android.support.constraint:constraint-la 
  5. Sincroniza tu proyecto con Gradle nuevamente.

El error “No se puede resolver el símbolo” debería desaparecer ahora. Esto me ha funcionado varias veces en diferentes proyectos.

Nota

  • Si su proyecto tiene múltiples módulos, entonces debe seguir las instrucciones anteriores para todos los módulos a la vez.

Por alguna razón, esos atributos ya no se encuentran en las 26 bibliotecas. Para boost esas bibliotecas, también debe boost su compileSdk a 27. Es probable que también compileSdk descargar el SDK 27.

Versión corta, sigue en la aplicación `graddle“

 android { compileSdkVersion 27 //... } dependencies { implementation 'com.android.support:appcompat-v7:27.1.0' implementation 'com.android.support:design:27.1.0' //... } 

Versión larga, verifique todos los siguientes archivos:

gradle-wrapper.properties

 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 

build.gradle (Proyecto)

 buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 

Y finalmente build.gradle (app)

 apply plugin: 'com.android.application' android { compileSdkVersion 27 defaultConfig { applicationId "cl.cutiko.testingupdate" minSdkVersion 21 targetSdkVersion 27 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:27.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' implementation 'com.android.support:design:27.1.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' } 

¡Cerrar un proyecto y luego abrirlo como uno existente hace maravillas!

Solo importar el proyecto de nuevo no funcionó para mí.

Mi solución fue

  1. Elimina la carpeta .idea dentro de tu proyecto.
  2. A continuación, cierre el proyecto por File> Close Project
  3. A continuación, importe el proyecto por File> New > Import Project O desde Bienvenido Pantalla Import Project (Gradle, Eclipse ADT, etc.) .

Ver captura de pantalla para más información

Primera solución

O

Segunda solución

Puede intentar cerrar el proyecto y salir de Android Studio (solo cerrarlo y volver a importarlo no lo hizo por mí). Inicie Android Studio y abra el proyecto nuevamente. ¡Eso funcionó para mí!

Cerré y volví a abrir el proyecto como el proyecto existente de Android Studio (no lo importé), ¡y funcionó! Gracias al comentario de Andrew Glukhoff .

 implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.1.2' implementation 'com.android.support:design:26.1.0' 

actualice sus dependencias con lo anterior en build.gradle (proyecto)

y ponga el siguiente código en build.gradle (Módulo: aplicación)

 classpath 'com.android.tools.build:gradle:3.1.1' classpath 'io.realm:realm-gradle-plugin:3.7.1' classpath 'com.google.gms:google-services:3.1.0' 

Para mí, el mismo síntoma / error fue causado al arrastrar y soltar una nueva imagen en la carpeta ‘drawable-xxhdpi’ con un nombre que no le gustaba a Android Studio, por ejemplo, con un número o mayúscula en el nombre.

No se proporcionó ningún mensaje de error útil, simplemente el mensaje ‘no se puede resolver el símbolo R’.

Incluso después de sincronizar la aplicación y el proyecto de limpieza y reconstrucción, el problema seguía siendo que ‘R’ no se reconocía sin indicar otro error.

Cerrar e importar el proyecto como se sugiere en otras respuestas no funcionó, lo cual tiene sentido dado el problema de raíz.

Sin embargo, aunque parece que esto no funcionó para otros en el pasado, a juzgar por otras preguntas y respuestas en SO, eliminar la nueva imagen de la carpeta dibujable funcionó.

Del mismo modo, y una mejor solución, obviamente, cambiar el nombre de la imagen para eliminar los caracteres que Android no le gusta en los nombres de los recursos y luego hacer un proyecto de limpieza y / o reconstrucción también funcionó.

Ejemplo

setContentView ( R .layout.activity_login_ativity);

  1. Pon el cursor en R
  2. Haga clic en Alt + Intro
  3. Elija la clase de importación R

Trabaja para mi 🙂