gagal menemukan target dengan string hash android-23

94

Saat mencoba membangun OpenStreetMapView dari git: //github.com/osmdroid/osmdroid, saya mendapatkan kesalahan ini:

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

Bagaimana cara memperbaikinya? Pertanyaan sebelumnya yang serupa dengan ini menyarankan untuk memeriksa bahwa android 23 tidak diinstal, tetapi dalam kasus saya, sudah.

Di bawah ini adalah beberapa info terkait:

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

D:\Users\myusername\AppData\Local\Android\sdk\platforms\ berisi direktori \ android-23 \, (serta 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'
}

Saya mencoba mengubah targetSdkVersion dan compileSdkVersion ke 22. Hal ini menyebabkan pesan kesalahan berubah menjadi "android-22" bukan "android-23".

SDK Manager: masukkan deskripsi gambar di sini

Al Lelopath
sumber

Jawaban:

79

Dalam kasus saya, menghapus cache tidak berhasil.

Di SDK Manager, pastikan untuk mencentang kotak di "tampilkan deskripsi paket" ; maka Anda juga harus memilih "Google API" untuk versi yang ingin Anda instal.

Instal dan Anda akan baik-baik saja

htafoya.dll
sumber
2
Ini berhasil. Harus mengunduh alat pembangunan setelah pengelola SDK selesai, tetapi jelas tidak perlu melakukan penghapusan folder .gradle atau cache yang tidak valid.
Bill Mote
Terima kasih! Bekerja dengan baik.
carlodonz
22

Di Android Studio File -> Invalidate Caches/Restartmemecahkan masalah untuk saya.

Mohammed Ali
sumber
1
Ini hanya perbaikan dari Jawaban @AlLelopath.
Mohammed Ali
18

Jawaban atas pertanyaan ini .

Gradle menjadi bodoh dari waktu ke waktu dan menghapus cache adalah satu-satunya solusi yang saya temukan. Anda akan menemukan folder .gradle tersembunyi di bawah folder home pengguna Anda dan folder lain di mana pun lokasi checkout untuk osmdroid.

Al Lelopath
sumber
3
Saya menghapus folder, memulihkan dan masih mengalami masalah
htafoya
13

Saya memperbaiki masalah ini dengan membuka Android SDK Manager dan menginstal alat build untuk semua versi 23.xx.

Lihat tangkapan layar.

masukkan deskripsi gambar di sini

Radmation
sumber
Berhasil! (menggunakan Deco di mac) Terima kasih!
JeremyF
5

Catatan: Saya rasa ini mungkin bug di Android Studio.

  1. Pergi ke Struktur Proyek
  2. Pilih Modul Aplikasi
  3. Di bawah tab pertama "Properties", ubah Compile SDK Version ke API XX dari Google API xx (mis. API 23, bukan Google API 23)
  4. tekan OK
  5. Tunggu hingga proses yang sedang berjalan selesai, dalam kasus saya, saya tidak mendapatkan kesalahan saat ini.

Sekarang kembalikan Versi Sdk Terkompilasi kembali ke Google API xx.

Jika ini tidak berhasil, maka:

  1. Dengan Google API (Google API xx sebagai ganti API xx), turunkan versi alat build (mis. Google API 23 dan alat build versi 23.0.1)
  2. Tekan Ok dan tunggu proses yang sedang berlangsung selesai
  3. Kembalikan versi alat build Anda ke sebelumnya sebelum Anda mengubahnya
  4. Tekan OK
  5. Tunggu prosesnya selesai.
  6. Selesai!
Sagar Patel
sumber
3

Mengikuti petunjuk yang disarankan ini sepertinya berhasil:

Petunjuk: Buka pengelola SDK dengan menjalankan: / path / to / android / tools / android

Anda akan membutuhkan: 1. "SDK Platform" untuk android-23 2. "Android SDK Platform-tools (terbaru) 3." Android SDK Build-tools "(terbaru)

Geremy
sumber
3

Memiliki masalah yang sama dengan nomor lain, ini berhasil untuk saya:

  1. Klik pesan kesalahan di bagian atas "Sinkronisasi proyek Gradle gagal" dengan teks ´Open message view´

  2. Di jendela "Message Gradle Sync" di pojok kiri bawah, klik solusi yang disediakan "Instal hilang ..."

  3. Ulangi 1 dan 2 jika perlu

23:08 Sinkronisasi Gradle gagal: Gagal menemukan target dengan string hash 'android-26' di: C: \ Users \ vik \ AppData \ Local \ Android \ Sdk

Android SDK memberikan solusi di pojok kiri bawah Android SDK memberikan solusi di pojok kiri bawah

ViktorMS
sumber
Harap tambahkan lebih banyak informasi jika tautan gambar Anda menghilang, sehingga orang lain dapat mengikuti jawaban bahkan setelah tautan tersebut mati.
Dessus
2

Ini berhasil bagi saya dengan mengubah compileSdkVersionke 24 dan targetSdkVersion24 dan mengubah compilekecom.android.support:appcompat-v7:24.1.0

Akshat Gupta
sumber
2

Ada 2 solusi untuk masalah ini:

1) Unduh Android SDK yang relevan melalui Tools -> Android -> SDK Manager -> SDK Tools (pastikan Anda telah mencentang 'Show Package Details'). Casing Anda adalah Android 6.0 (Marshmallow / API level 21)

2) Cara lainnya, buka build.gradlefile Anda dan perbarui atribut berikut:

  • compileSdkVersion
  • buildToolsVersion
  • targetSdkVersion

baik ke versi terbaru Android API yang telah Anda instal / versi terinstal lain yang ingin Anda gunakan (meskipun saya selalu menyarankan untuk menggunakan versi terbaru untuk alasan yang biasa: perbaikan bug, dll.)

Jika Anda mengikuti langkah 2, Anda juga harus ingat untuk memperbarui versi pustaka dukungan Android jika aplikasi Anda menggunakannya. Ini dapat ditemukan di dependenciesbagian file build Anda dan terlihat seperti ini:

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

(ganti 27.0.2dengan versi pustaka dukungan terbaru untuk level API yang ingin Anda gunakan dengan aplikasi Anda)

Scott Barbour
sumber
1

Buka Android SDK Manager dan Perbarui dengan yang terbaru.

Biswajit Karmakar
sumber
1

Tidak ada yang berhasil untuk saya. Saya mengubah jalur SDK ke lokasi SDK baru dan menginstal ulang SDK. Ini bekerja dengan sempurna.

pengguna1035292
sumber
1

Alat> Android> Pengelola SDK.

masukkan deskripsi gambar di sini

CoolMind
sumber
Saya biasanya bukan penggemar jawaban singkat, tetapi ini dilakukan dengan indah. Memecahkan segalanya untuk saya.
Le Mot Juiced
Terima kasih, @LeMotJuiced.
CoolMind
1

Saya mengalami masalah ini saat menggunakan windows. Ternyata lokasi SDK di profil saya adalah masalahnya. Jadi saya harus merelokasi folder SDK saya ke dokumen dan kemudian berhasil.

pengguna3288482
sumber
1

Saya mengeluh tentang 26. Saya mencari di folder saya dan menemukan folder untuk 27, tetapi bukan 26. Jadi saya memodifikasi file build.gradle saya, mengganti 26 dengan 27. compileSdkVersion, targetSdkVersion, dan implementasi (mengubah angka-angka itu menjadi v: 7 : 27.02). Itu mengubah pesan kesalahan saya. Lalu saya menambahkan buildToolsVersion "27.0.3" ke bagian braket android tepat di bawah compileSdkVersion.

Sekarang tombol buat proyek berfungsi dengan 0 pesan.

Selanjutnya, bagaimana sebenarnya memilih modul dalam konfigurasi saya sehingga saya dapat menjalankan ini.

Neo42
sumber
1

Bagi saya masalahnya adalah saya menulis compileSdkVersion '23' bukan 23. Kutipan adalah masalahnya.

konnovdev
sumber
1

Unduh rilis Android tertentu dari tautan yang ditentukan di konsol versi.

KayV
sumber
1

Poblem ini diselesaikan bagi saya setelah Run as administratorituAndorid Studio

PurTahan
sumber
0

Masalahnya disebabkan karena kode yang Anda jalankan dibuat di tingkat API yang lebih lama, dan SDK Manager Anda saat ini tidak mendukung untuk menjalankannya. Jadi cobalah yang berikut ini; 1. Instal SDK Manager yang mendukung API level 23. Buka> SDK Manager,> Android SDK, lalu pilih API 23 dan instal. 2. Alternatif kedua adalah memperbarui modul aplikasi build.grade Anda untuk mengubah compileSdkVersion, compile, dan nomor lain ke level API yang saat ini didukung.

Catatan: pastikan untuk memeriksa nomor API dan Revisi dan mengubahnya dengan tepat. jika tidak, proyek Anda tidak akan disinkronkan

Kose
sumber
0

Pastikan IDE mengenali bahwa Anda memiliki paketnya. Itu tidak ada pada saya bahkan setelah mengunduh 28, jadi saya mencopot pemasangannya kemudian menginstalnya kembali setelah menyadari itu tidak muncul di bawah File-Project Structure-Modules-App sebagai pilihan untuk SDK.

Selain itu, Anda mungkin ingin mengubah jalur build agar cocok.

Sedikit terkait, pembaruan terbaru tampaknya dapat dikompilasi ketika saya memaksakan pembaruan hingga 28 untuk CompileSDK, dan tidak hanya hingga persyaratan API 26 menit baru dari Google Play. Ini terkait dengan dependensi, dan mungkin tidak memengaruhi dependensi Anda

Stephen J.
sumber