Pregunta El compilador en línea de Android Studio muestra errores rojos, pero la compilación con gradle funciona bien


Configuré mi proyecto en Android Studio para usar Biblioteca Square Wire, según esta pregunta.

Build -> Compile Project funciona bien.

2:03:10 PM Compilation completed successfully in 31 sec

Sin embargo, si abro uno de mis archivos de buffer de protocolo generados, entonces el paquete Square no se reconoce.

Android Studio inline compile errors

Otro síntoma es que los métodos heredados de la Plaza Message class están mostrando como "No se puede resolver el método" compilar errores en el editor, a pesar de que compilan y funcionan bien.

Android Studio single line compile error

¿Debo hacer algo más que solo agregar la dependencia en build.gradle para mi módulo en mi proyecto?


73
2017-11-26 20:06


origen


Respuestas:


Gracias a free3dom por ponerme en el camino correcto aquí.

Diagnóstico

los Sync Project with Gradle Files opción en Android Studio parece mantener el Project Structure bibliotecas actualizadas

gradle sync

Sin embargo, en mi caso hubo algunos errores:

errors found

La ampliación del enlace (no muy obvio) mostró el detalle. Mi biblioteca de tiempo de ejecución de cable se mostraba en una ubicación incorrecta:

libraries

Esto parecía ser una resaca de mi configuración original donde había importado el JAR en una carpeta libs.

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

Posteriormente lo cambié para importarlo directamente de Maven Central (como aquí), y parece que la configuración anterior nunca se sobrescribió con la nueva.

La solución

La solución es eliminar la dependencia de la biblioteca de la Project Structure pantalla y luego Sync Project with Gradle Files de nuevo.

Mas detalle

También puede ver qué ruta se está utilizando para el recurso abriendo el .idea/libraries/wire_runtime_1_2_0.xml directamente.

Mi roto fue:

  <component name="libraryTable">
  <library name="wire-runtime-1.2.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/MY_MODULE/libs/wire-runtime-1.2.0.jar!/" />
    </CLASSES>
    <JAVADOC />
    <SOURCES />

Después de eliminar y volver a agregar la biblioteca, cambió el root url a:

      <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.squareup.wire/wire-runtime/1.2.0/jar/44e7acbd5eb6f29698181dc3d67a60acf7efee80/wire-runtime-1.2.0.jar!/" />

Actualizar

Android Studio v0.4.4 Al parecer corrige otros errores que tienen los mismos síntomas, por lo que si tiene una versión anterior es posible que desee actualizar.


89
2017-11-28 04:00



Solución simple

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

  1. Escoger File opción del menú en el lado superior izquierdo de Android Studio.
  2. Seleccione la opción: Invalidate Cache/Restart Abrirá un diálogo.
  3. Haga clic en el primer botón con la opción: Invalidate and Restart
  4. Cerrará Android Studio y lo reiniciará. Además, comenzará a volver a indexar el proyecto.

Resolvió mi problema

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

Fuente aquí para youtube


45
2017-08-16 12:33



1) Haga clic en el icono de gradle (lado derecho en el estudio de Android)

enter image description here

2) Haga clic en el botón Actualizar y espere a que se resuelva el problema: D

enter image description here


42
2018-04-27 21:27



Los siguientes pasos ayudan

  1. Cierre su proyecto y en la carpeta de su proyecto elimine project/.idea
  2. Borrar ~/.gradle carpeta.

Abra el proyecto nuevamente Todo debería ser resuelto.


40
2018-04-12 11:42



Tuve este problema después de actualizar a Android Studio 3.1. Resolví el problema actualizando todos los componentes que uso. Así que cambié las siguientes entradas en mi build.gradle (aplicación):

  1. Actualice SDK (desde "compileSdkVersion 25" a "compileSdkVersion 26" o tal vez más cuando lea esta nota):

    // compileSdkVersion 25

    compileSdkVersion 26

    Comentario: Este cambio obligó al programa a descargar / instalar nueva SDK durante la próxima sincronización.

  2. Actualizar appcompat-v7:

    // implementación 'com.android.support:appcompat-v7:25.4.0'

    implementación 'com.android.support:appcompat-v7:26.1.0'

  3. Actualizar firebase:

    // implementación 'com.google.firebase: firebase-ads: 11.4.2'

    implementación 'com.google.firebase: firebase-core: 12.0.1'

    implementación 'com.google.firebase: firebase-ads: 12.0.1'

  4. En PROYECTO build.gradle, actualice google-services:

    // classpath 'com.google.gms: google-services: 3.1.0'

    classpath 'com.google.gms: google-services: 3.2.0'

  5. Actualizar gradle (de 4.4 a 4.6). De gradle-wrapper.properties: distributionUrl = https: //services.gradle.org/distributions/gradle-4.6-all.zip

Después de estos cambios, limpie el proyecto, invalide el caché / reinicio, elimine el contenido de .idea / libraries y vuelva a sincronizar (no estoy seguro del orden, pero TODAS estas actividades me resolvieron el problema).


7
2018-04-01 00:51



Si todas las respuestas anteriores no funcionan para usted. Intente actualizar sus dependencias a la última versión. Funcionó para mí


2
2017-07-25 04:57



Estas soluciones no me ayudaron con el mismo problema en Android Studio 0.5.8.

Describí mi respuesta a la misma pregunta (supongo): https://stackoverflow.com/a/23891829/534698 Acabo de eliminar el directorio ~ / .AndroidStudioPreview (en Ubuntu). Extrañé todas las configuraciones de Android Studio, pero funciona.


1
2018-05-27 14:19