Android Studio de repente no puede resolver símbolos

207

Android Studio 0.4.2 funcionaba bien y hoy lo abrí y casi todo estaba rojo y el autocompletado había dejado de funcionar. Miro las importaciones y AS parece estar diciéndome que no puede encontrar android.support.v4 de repente (ofreciéndome la opción de eliminar las importaciones no utilizadas). ( Android.support.v7 parece estar bien, sin embargo).

Cosas que he probado:

  • Reconstruyendo el proyecto
  • Limpieza del proyecto
  • Sincronización con archivos Gradle
  • Cierre del proyecto, cierre de AS y relanzamiento / reapertura
  • Archivo> Invalidar cachés / reiniciar
  • Examinando la pelusa, no vi nada obvio
  • La comprobación doble de todas las bibliotecas de soporte está actualizada en el administrador de SDK
  • Examinando mi Build.gradle, aunque no hay cambios y es lo mismo de siempre, la forma en que funcionaba todo el tiempo.

Aquí está en caso de que sea relevante:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.android.support:gridlayout-v7:19.0.0'
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
    compile project(':libraries:facebook')
    compile files('libs/core.jar')
}

Cuando presiono "Sincronizar con Gradle" y abro "Configuración del proyecto" aparece un error rojo que me dice que tengo referencias de biblioteca duplicadas y que elimino las que no se usan. ingrese la descripción de la imagen aquí

¡Mi proyecto se compila y funciona bien, pero realmente necesito que funcione el autocompletado! ¿Alguien tiene alguna sugerencia?

ingrese la descripción de la imagen aquí

Daniel Wilson
fuente
66
Cada actualización de Android Studio rompe proyectos, ya estoy harto de eso. ¿Por qué no pueden esperar y lanzar una versión utilizable?
Konrad Morawski
3
Antes de limpiar o eliminar cualquier archivo, lea primero esta respuesta. Puede resolver tu problema. stackoverflow.com/a/19223269/513413
Hesam
16
"Invalidar cachés / reiniciar" funcionó para mí.
Eagle_Eye
1
Tuve el mismo problema y se solucionó con la respuesta en esta publicación SO stackoverflow.com/a/30828772/1550233
johnw182
acepte esta respuesta para que los usuarios no
eliminen

Respuestas:

238

Ya ha bajado la lista de la mayoría de las cosas que serían útiles, pero podría intentar:

  • Salga de Android Studio
  • Haz una copia de seguridad de tu proyecto
  • Elimine todos los archivos .iml y la carpeta .idea
  • Vuelva a iniciar Android Studio y vuelva a importar su proyecto

Por cierto, los mensajes de error que ve en el cuadro de diálogo Estructura del proyecto son falsos en su mayor parte.

ACTUALIZAR:

Android Studio 0.4.3 está disponible en el canal de actualización de canary, y esperamos resolver la mayoría de estos problemas. Puede haber algunos problemas persistentes; si los ve en 0.4.3, infórmenos e intente darnos un conjunto confiable de pasos para reproducir para que podamos asegurarnos de que nos hemos ocupado de todas las rutas de código.

Scott Barta
fuente
3
Esto funcionó para mí. Me estaba volviendo loco con esto, ¡un día completo tratando de resolverlo! Gracias por la respuesta.
Patrick Kafka
25
Para mí fue suficiente eliminar la carpeta de bibliotecas en .idea y el proyecto de sincronización de prensa con gradle.
Gabriel Ittner
2
Tengo el mismo problema con 0.8.9 y probé todas las soluciones enumeradas aquí sin suerte :(
Rémy DAVID
3
No funcionó para mí en AndroidStudio 1.2 RC. Esto es una pesadilla.
RED_
77
Esto todavía está sucediendo en 2018 y su respuesta fue útil. Sin embargo, desearía que esto se solucionara ... Sucedió en AS 3.1.1.
Demogorii
302

Ninguna de las cosas mencionadas anteriormente aquí realmente funcionó para mí. Pero luego encontré esta entrada de menú en el menú de archivoInvalidate Caches/Restart que parece haber solucionado el problema.

Realmente no sé qué sucedió en el fondo, pero cuando Android Studio se inició nuevamente, la barra de estado decía Indexing... por un minuto más o menos, lo que aparentemente hizo maravillas.

Como referencia estoy usando Android Studio 0.5.4.

Victor Häggqvist
fuente
2
Trabajó para mí en 0.5.9
Father Stack
19
Para mí, tuve una falla de energía cuando se cargaban los estudios de Android 0.8.2 y no reconocerá ninguna de mis importaciones de Java y todo era rojo. Esto funcionó para mí, gracias!
Simon
2
Estoy usando Android Studio 1.0.2, cuando abrí mi proyecto, estaba lleno de errores rojos. Lo resolví con Android Studio -> archivo -> invalidar chaches / reiniciar. cuando mi proyecto se reinició funcionó ... sin errores rojos
SoftEye
44
Android Studio 1.1.0. También tuve una falla de energía, y esto funcionó.
Phito
2
Esta ahora debería ser la respuesta correcta. Confirmé con Android Studio 1.4 final.
Davideas
58

Ir a través del enlace y funcionó para mí.

1.) Elija la opción Archivo del menú en la parte superior izquierda del estudio de Android.

2.) Seleccione la opción: "Invalidar caché / reiniciar .." Se abrirá un cuadro de diálogo.

3.) Haga clic en el primer botón con la opción: "Invalidar y reiniciar"

4.) Cerrará el estudio y lo reiniciará. Comience la indexación del proyecto.

Resolvió mi problema:

Archivo -> Invalidar caché / reiniciar -> Invalidar y reiniciar

Fuente: https://www.youtube.com/watch?v=FX_gCTpqhwM

Manmohan Soni
fuente
1
para Android Studio 3+: stackoverflow.com/questions/50313885/…
user1506104
Trabajó para mí en Android Studio 3.5.3
flawyte
13

Android Studio 1.3

  1. Configuración del módulo abierto
  2. Haga clic en su módulo en el menú Módulos
  3. En la pestaña de propiedades , configure la compatibilidad de origen y la compatibilidad de destino con su versión de Java.

No hice nada más y funcionó para mí.

Mathieu de Brito
fuente
¿Dónde puedo encontrar la configuración del módulo?
bendaf
3
@bendaf Haga clic derecho en su módulo en el explorador y seleccione "Abrir configuración de módulo"
Jason Robinson
Esta configuración también se puede encontrar en Archivo -> Estructura del proyecto -> Propiedades
ChumiestBucket
10

Para mí fue una entrada de compilación "progaurd" en mi build.gradle. Eliminé toda la sección de compilación, luego realicé una nueva sincronización y resolví el problema.

Helzgate
fuente
¡Trabajó para mi! ¡Gracias! Usando canary build 1.0RC 1. Usando minifyEnabled trueo minifyEnabled falsesin definir proguardFiles.
Kalem
Además, no olvide que los proyectos de AndroidLibrary no ejecutan proguard stackoverflow.com/a/10992604/665823 .
Kalem
4

Estoy usando Android Studio 3.1.4 y estaba experimentando este problema al pasar de mi rama de desarrollo con un objetivo de API inferior a otra rama con API de objetivo Oreo. Intenté la primera solución que funcionó pero es bastante difícil, mientras que la segunda solución no resolvió el problema.

Mi solución Cuando el problema volvió a aparecer, intenté modificar ligeramente mi archivo gradle de la aplicación lo suficiente como para que AS me pidiera que sincronizara los archivos, y eso funcionó. Luego borré el cambio.

Supongo que "Sincronizar proyecto con archivos Gradle" podría funcionar también, pero no lo he intentado yo mismo

Espero eso ayude

Aenón
fuente
3

Hay una solución mucho más fácil integrada en Android Studio, y generalmente funciona para mí sin necesidad de ninguna solución de fuerza bruta mencionada en otras respuestas, por lo que debe probar esto primero: ingrese la descripción de la imagen aquí

haga clic en el símbolo "gradle" en el lado derecho de Android Studio, y luego en la herramienta "Actualizar todos los proyectos Gradle".

Amir Uval
fuente
2

Pensé que también lanzaría esto:

Lo que funcionó para mí fue cambiar mi variante de compilación a una variante que funcionaba anteriormente. Por alguna razón, había cambiado esto antes (y olvidé por qué).

De cualquier manera, lo mejor que puede hacer es tratar de recordar lo que cambió ese día (podría ser algo tan pequeño como limpiar o volver a un git commit anterior) ... etc.

También ayuda a intentar sincronizar Gradle y forzar una reconstrucción.

David T.
fuente
1

Luchó con el mismo problema durante un par de horas esta mañana. Construir mi proyecto desde la línea de comandos parece haber hecho el truco para mí.

Pasos exactos

  1. Repositorio nuevo clonado (no hay archivos de estudio de Android en repositorio)
  2. Proyecto de depuración construido desde la línea de comandos (./gradlew clean assembleDebug)
  3. Abra Android Studio, importe proyecto

Para verificar si funcionó, busque en la carpeta de paquetes explotados de sus proyectos, inspeccione una biblioteca y encuentre el classes.jar. Si es expandible, entonces todo estará bien.

editar: descubrí que después de hacer una limpieza en el estudio de Android, se rompió nuevamente. Entonces, si tiene que limpiar, deberá volver a realizar este proceso.

Kevin Grant
fuente
no sé cuál era el problema, pero gradle clean assembleDebug funciona y todo está bien por ahora
Killer
1

Ninguno de estos métodos me ayudó en Android Studio 0.5.8.

Mi solución fue eliminar el directorio ~ / .AndroidStudioPreview (en Ubuntu). Lo siento, no tengo idea de dónde está en otro sistema operativo. Este directorio almacena archivos temporales y configuraciones de Android Studio, por lo que omití todas mis configuraciones. ¡Pero funciona!

DmitryDzz
fuente
A mí también me funcionó. (Android Studio 0.6.0 en Elementary OS)
rogeriolino
1

Otra forma es descargar JDK 1.7 y cambiar la ruta de Android Studio en el mensaje de error ... y elegir la carpeta Inicio que se encuentra en la carpeta Jdk 1.7

Panos
fuente
1

Tengo el mismo problema hoy. Se solucionó cambiando la ubicación de jdk en la estructura del proyecto de \java\jdk1.7.0_05a \java\jdk1.7.0_25(que no sabía que existía hasta ahora).

Estoy usando Android Studio 0.8.6.

abrió_ojos_media
fuente
1

Intenté limpiar el proyecto y luego invalidar el caché, ninguno de los cuales funcionó. Lo que funcionó para mí fue comentar todas mis dependencias en build.gradle (aplicación), luego sincronizar, luego descomentar las dependencias nuevamente y luego sincronizar nuevamente. Bob es tu tio.

CKP78
fuente
0

Me enfrenté a un problema similar pero seguí los siguientes pasos en mi caso: -

1) proyecto .inside en .idea folder open modules.xml. 2). Verifique si hay dos entradas para el mismo archivo iml. 3). Elimine una entrada duplicada y cierre el estudio de Android o cree el archivo gradle nuevamente.

En mi caso funcionó. Espero eso ayude

Gagandeep Singh
fuente
0

Lo resolví configurando JDK. Recibí una ventana emergente que decía que Setup JDK cuando coloqué el mouse sobre el error.

varghesekutty
fuente
0

Tuve el mismo problema, ninguna de las soluciones enumeradas aquí funcionó. El problema era que mis archivos fuente no estaban dentro de la carpeta correcta.

La estructura del directorio DEBE ser:

[project]\[module]\src\main\java\[yourpackage]\[yourclass.java]

Rémy DAVID
fuente
0

Finalmente he descubierto qué causa este problema.

En realidad, debe evitar empujar la .idea/librariescarpeta a su repositorio. Crea cosas extrañas en Android Studio que tienden a eliminar todas las bibliotecas descargadas.

Si tiene historial de confirmación, simplemente vuelva a crear todos los archivos de biblioteca que faltan y evite que se vuelvan a confirmar. De lo contrario, simplemente elimine toda la .ideacarpeta y vuelva a importarla en AS.

Adrien Cadet
fuente
0

intente cambiar su build.gradle con estos valores:

android {compileSdkVersion 18 buildToolsVersion '21 .0.1 '

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}
Fakher
fuente
0

Uso preferencias compartidas, pero Android Studio se quejó del símbolo del Editor. Entonces, agregué

import android.content.SharedPreferences.Editor;

y el símbolo es genial ahora.

Badr
fuente
0

¡Compruebe si tiene una ruta de proyecto que tenga caracteres especiales como! (signo de exclamación).

En un problema similar que experimenté , esta fue la causa raíz, ya que muchas aplicaciones Java parecen no tolerar caracteres tan especiales (por ejemplo, hacer una 'limpieza de gradlew' desde el terminal fallaría y arrojaría una RunTimeException). Ninguna de las otras soluciones publicadas en línea me había ayudado. Pero, una vez que había eliminado el! desde el camino e hizo una compilación limpia, Android Studio funcionó mágicamente.

Jim C
fuente
0

Intenté todo lo que se menciona aquí. Luego verifiqué mi androidmanifest.xml había tenido algunos stoopid no coincidentes debido a los cambios de nombre de carpetas y nombres de paquetes.

JDOaktown
fuente
0

En mi proyecto de módulos múltiples, el problema era que la versión de "com.android.support:appcompat-v7" en el módulo A era "22.0.0", pero en B - "22.2.0".

Solución : asegúrese de que
1. la versión de las bibliotecas comunes sea la misma entre los módulos.
2. cada uno de los módulos se compila sin ningún error (intente construir cada uno de ellos desde la CLI).

surlac
fuente
0

Tenga en cuenta que el nombre de los archivos y especialmente las carpetas pueden provocar este error. Por ejemplo, si tiene una carpeta "Helpers" y el paquete de archivos en esta carpeta es "com.whatever.helpers", no generará ningún error de compilación, pero hará que el estudio de Android no cargue los símbolos en esa carpeta . Una razón típica para eso es cuando nombras una carpeta con la primera letra mayúscula, lo confirmas en Git y luego cambias el nombre de la carpeta a minúsculas. El sistema Git no reconocerá el cambio que resulta en una discrepancia entre los repositorios locales y remotos que solo afectará a los nuevos clones de repositorio.

Eduardo Cobuci
fuente
0

Tenía una solución mucho más extraña. En caso de que alguien se encuentre con esto, vale la pena revisar su archivo gradle. Resulta que cuando estaba clonando este git y Gradle se estaba ejecutando, eliminó una línea de mi archivo build.gradle (aplicación).

dependencies {
     provided files(providedFiles)

Obviamente, el problema aquí era simplemente volver a agregarlo y volver a sincronizar con gradle.

Blaze Gawlik
fuente
0

Tuve un problema similar cuando reconstruí un archivo aar y reemplacé el anterior en mi proyecto por el nuevo. Revisé todas las soluciones aquí y ninguna resolvió mi problema. Más tarde me di cuenta de que minifyEnabled se había establecido en verdadero en el proyecto de la biblioteca, lo que eliminó efectivamente una gran cantidad de código muerto que no se estaba utilizando en el proyecto de la biblioteca.

Mi solución fue establecer minifyEnabled en false en el proyecto de biblioteca, ensamblar el aar, copiarlo en mi proyecto, invalidar cachés y sincronizar el proyecto de calificación y todo funcionó bien.

Cool Guy CG
fuente