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
Este error ocurre porque la biblioteca de soporte no se sincroniza con su proyecto. Para volver a sincronizarlo, puede seguir los siguientes pasos:
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
Sincroniza tu proyecto con gradle. Tendrás algunos errores ahora. No te preocupes por eso
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
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
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
.idea
dentro de tu proyecto. File> Close Project
File> New > Import Project
O desde Bienvenido Pantalla Import Project (Gradle, Eclipse ADT, etc.)
. Ver captura de pantalla para más información
O
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);
Trabaja para mi 🙂