no se pudo encontrar el objetivo con la cadena hash android-23

94

Cuando intento construir OpenStreetMapView desde git: //github.com/osmdroid/osmdroid, aparece este error:

failed to find target with hash string android-23: D:\Users\myusername\AppData\Local\Android

¿Cómo puedo arreglar esto? Preguntas anteriores similares a esta sugieren verificar que android 23 no esté instalado, pero en mi caso sí lo está.

A continuación se muestra información pertinente:

ANDROID_HOME es D:\Users\myusername\AppData\Local\Android\sdk

D:\Users\myusername\AppData\Local\Android\sdk\platforms\ contiene el directorio \ android-23 \, (así como android-19, android-21, android-22, android-MNC)

build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "org.osmdroid.example"
        minSdkVersion 8
        targetSdkVersion 23
        versionCode 16
        versionName "4.4-SNAPSHOT"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'

    }
    lintOptions {
        abortOnError false
    }
}


dependencies {
    compile 'android.support:compatibility-v4:23+'
    compile project(':osmdroid-android')
    //compile 'org.osmdroid:osmdroid-third-party:4.4-SNAPSHOT'
}

Intenté cambiar targetSdkVersion y compileSdkVersion a 22. Esto hace que el mensaje de error cambie a "android-22" en lugar de "android-23".

Administrador de SDK: ingrese la descripción de la imagen aquí

Al Lelopath
fuente

Respuestas:

79

En mi caso, limpiar caché no funcionó.

En SDK Manager, asegúrese de marcar la casilla "mostrar descripciones de paquetes" ; luego también debe seleccionar las "API de Google" para la versión que desea instalar.

Instálalo y entonces deberías estar bien

htafoya
fuente
2
Esto funcionó. Tuve que descargar las herramientas de compilación después de que finalizó el administrador de SDK, pero definitivamente no fue necesario eliminar la carpeta .gradle o invalidar la caché.
Bill Mote
¡Gracias! Funcionó bien.
carlodonz
22

En Android Studio File -> Invalidate Caches/Restartresolvió el problema por mí.

Mohammed Ali
fuente
1
Simplemente mejora la respuesta de @AlLelopath.
Mohammed Ali
18

La respuesta a esta pregunta .

Gradle se vuelve estúpido de vez en cuando y borrar el caché es la única solución que he encontrado. Encontrará una carpeta .gradle oculta en la carpeta de inicio de su usuario y otra donde sea que la ubicación de pago sea para osmdroid.

Al Lelopath
fuente
3
Borré las carpetas, las repasé y todavía tiene el problema
htafoya
13

Solucioné el problema abriendo Android SDK Manager e instalando las herramientas de compilación para todas las versiones 23.xx.

Vea la captura de pantalla.

ingrese la descripción de la imagen aquí

Radmación
fuente
¡Eso fue todo! (usando Deco en Mac) ¡Gracias!
JeremyF
5

Nota: creo que esto podría ser un error en Android Studio.

  1. Ir a la estructura del proyecto
  2. Seleccionar módulo de aplicación
  3. En la primera pestaña "Propiedades", cambie la versión Compilar SDK a API XX desde Google API xx (por ejemplo, API 23 en lugar de Google API 23)
  4. presiona OK
  5. Espere a que se complete el proceso en curso, en mi caso no obtuve un error en este momento.

Ahora vuelva la versión compilada de Sdk a la API de Google xx.

Si esto no funciona, entonces:

  1. Con Google API (Google API xx en lugar de API xx), reduzca la versión de la herramienta de compilación (por ejemplo, Google API 23 y la versión de la herramienta de compilación 23.0.1)
  2. Presione Aceptar y espere a que finalice el proceso en curso
  3. Revertir la versión de la herramienta de compilación a la que tenía antes de cambiar
  4. Presiona OK
  5. Espere a que finalice el proceso.
  6. ¡Hecho!
Sagar Patel
fuente
3

Seguir estas instrucciones recomendadas pareció funcionar:

Sugerencia: abra el administrador de SDK ejecutando: / ruta / a / android / tools / android

Necesitará: 1. "Plataforma SDK" para android-23 2. "Herramientas de plataforma SDK de Android (más reciente) 3." Herramientas de compilación de SDK de Android "(más reciente)

Geremy
fuente
3

Tuve el mismo problema con otro número, esto funcionó para mí:

  1. Haz clic en el mensaje de error en la parte superior "Error en la sincronización del proyecto Gradle" donde el texto dice "Abrir vista de mensaje".

  2. En la ventana "Message Gradle Sync" en la esquina inferior izquierda, haga clic en la solución provista "Falta instalar ..."

  3. Repita 1 y 2 si es necesario

23:08 Error de sincronización de Gradle: no se pudo encontrar el destino con la cadena hash 'android-26' en: C: \ Users \ vik \ AppData \ Local \ Android \ Sdk

SDK de Android que ofrece una solución en la esquina inferior izquierda SDK de Android que ofrece una solución en la esquina inferior izquierda

ViktorMS
fuente
Agregue más información en el caso de que el enlace de su imagen desaparezca, para que otros puedan seguir la respuesta incluso una vez que el enlace muera.
Dessus
2

Me funcionó al cambiar compileSdkVersiona 24 y targetSdkVersiona 24 y cambiar compileacom.android.support:appcompat-v7:24.1.0

Akshat Gupta
fuente
2

Hay 2 soluciones para este problema:

1) Descargue el SDK de Android relevante a través de Herramientas -> Android -> Administrador de SDK -> Herramientas de SDK (asegúrese de tener marcado 'Mostrar detalles del paquete'). Su caso sería Android 6.0 (Marshmallow / API nivel 21)

2) Alternativamente, abra su build.gradlearchivo y actualice los siguientes atributos:

  • compileSdkVersion
  • buildToolsVersion
  • targetSdkVersion

ya sea a la versión más reciente de la API de Android que ha instalado / otra versión instalada que le gustaría usar (aunque siempre recomendaría ir con la última versión por las razones habituales: corrección de errores, etc.)

Si está siguiendo el paso 2, también es importante que recuerde actualizar la versión de la biblioteca de soporte de Android si su aplicación la está usando. Esto se puede encontrar en la dependenciessección de su archivo de compilación y se parece a esto:

compile 'com.android.support:appcompat-v7:27.0.2'

(reemplácelo 27.0.2con la versión de la biblioteca de soporte más reciente para el nivel de API que desea usar con su aplicación)

Scott Barbour
fuente
1

Abra Android SDK Manager y actualice con la última versión.

Biswajit Karmakar
fuente
1

Nada funcionó para mí. Cambié la ruta del SDK a la nueva ubicación del SDK y reinstalé el SDK. Funciona perfectamente.

usuario1035292
fuente
1

Herramientas> Android> SDK Manager.

ingrese la descripción de la imagen aquí

CoolMind
fuente
Por lo general, no soy fanático de la respuesta concisa, pero esto está muy bien hecho. Resolvió todo por mí.
Le Mot Juiced
Gracias, @LeMotJuiced.
CoolMind
1

Tuve este problema al usar Windows. Resultó que la ubicación del SDK en mis perfiles era el problema. Así que tuve que trasladar mi carpeta SDK a documentos y luego funcionó.

user3288482
fuente
1

El mío se quejaba de 26. Busqué en mis carpetas y encontré una carpeta para 27, pero no 26. Así que modifiqué mi archivo build.gradle, reemplazando 26 con 27. compileSdkVersion, targetSdkVersion e implementación (cambié esos números a v: 7 : 27,02). Eso cambió mi mensaje de error. Luego agregué buildToolsVersion "27.0.3" a la sección de soporte de Android justo debajo de compileSdkVersion.

Ahora el botón de hacer proyecto funciona con 0 mensajes.

A continuación, cómo seleccionar realmente un módulo en mi configuración para poder ejecutar esto.

Neo42
fuente
1

Para mí, el problema fue que escribí compileSdkVersion '23' en lugar de 23. Las comillas eran el problema.

Konnovdev
fuente
1

Descargue la versión específica de Android desde el enlace especificado en la consola de compilación.

KayV
fuente
1

Este problema se soluciona después de Run as administratorlaAndorid Studio

PurTahan
fuente
0

El problema se debe a que el código que está ejecutando se creó en un nivel de API anterior, y su SDK Manager actual no admite su ejecución. Así que intente lo siguiente; 1.Instale el SDK Manager que admita el nivel de API 23. Vaya a> SDK Manager,> Android SDK, luego seleccione API 23 e instálelo. La segunda alternativa es actualizar el módulo de la aplicación build.grade para cambiar compileSdkVersion, compilar y otros números a su nivel de API actualmente compatible.

Nota: asegúrese de verificar la API y los números de revisión y cámbielos exactamente. de lo contrario, su proyecto no se sincronizará

Kose
fuente
0

Asegúrese de que el IDE reconozca que tiene el paquete. No estaba en el mío incluso después de descargar 28, así que lo desinstalé y luego lo reinstalé después de darme cuenta de que no aparecía en File-Project Structure-Modules-App como una opción para SDK.

Además de eso, es posible que desee cambiar su ruta de compilación para que coincida.

Ligeramente relacionado, las últimas actualizaciones parecen poder compilarse cuando forcé una actualización hasta 28 para CompileSDK, y no solo hasta el nuevo requisito de API de 26 minutos de Google Play. Sin embargo, esto está relacionado con las dependencias y es posible que no afecte a las suyas

Stephen J
fuente