android - implementar - retrofit code
El compilador en línea de Android Studio muestra errores rojos, pero la compilación con gradle funciona bien (9)
En mi caso, por alguna razón, la versión del complemento de Android no estaba configurada. Intenté borrar el caché y eliminar .gradle y .idea también, pero no funcionó y después de deambular durante horas, encontré esto.
He configurado mi proyecto en Android Studio para usar la 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.
Otro síntoma es que los métodos heredados de la clase Square Message
se muestran como errores de compilación "No se puede resolver el método" en el editor, aunque se compilan y se ejecutan correctamente.
¿Debo hacer algo más que solo agregar la dependencia en build.gradle
para mi módulo en mi proyecto?
Estas soluciones no me ayudaron con el mismo problema en Android Studio 0.5.8.
Describí mi respuesta a la misma pregunta (supongo): https://.com/a/23891829/534698 Acabo de eliminar el directorio ~ / .AndroidStudioPreview (en Ubuntu). Extrañé todas las configuraciones de Android Studio, pero funciona.
Gracias a free3dom por ponerme en el camino correcto aquí.
Diagnóstico
La opción Sync Project with Gradle Files
en Android Studio parece mantener las bibliotecas de Project Structure
al día.
Sin embargo, en mi caso hubo algunos errores:
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:
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 pantalla Project Structure
del Project Structure
y luego Sync Project with Gradle Files
nuevamente.
Mas detalle
También puede ver qué ruta se está utilizando para el recurso abriendo .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ó la 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 aparentemente soluciona otros errores que tienen los mismos síntomas, por lo que si tiene una versión anterior, es posible que desee actualizarla.
Los siguientes pasos ayudan
- Cierre su proyecto, y en la carpeta del
project/.idea
elimine elproject/.idea
- Eliminar la carpeta
~/.gradle
.
Abra el proyecto nuevamente Todo debería ser resuelto.
Si todas las respuestas anteriores no funcionan para usted. Intente actualizar sus dependencias a la última versión. Funcionó para mí
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):
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.
Actualizar appcompat-v7:
// implementación ''com.android.support:appcompat-v7:25.4.0''
implementación ''com.android.support:appcompat-v7:26.1.0''
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''
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''
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).
Tuve un problema similar antes, invalidar el caché y reiniciar no lo resolvió. Acabo de hacer una Gradle Sync y todo funcionó bien.
Solución simple
Ve a través del enlace y funcionó para mí.
- Elija la opción de
File
del menú en el lado superior izquierdo de Android Studio. - Seleccione la opción:
Invalidate Cache/Restart
Se abrirá un cuadro de diálogo. - Haga clic en el primer botón con la opción:
Invalidate and Restart
- Cerrará Android Studio y lo reiniciará. Además, comenzará a volver a indexar el proyecto.
Resolvió mi problema
Vaya a Archivo > Invalidar caché / reiniciar > Invalidar y reiniciar