не удалось найти цель с хеш-строкой android-23

94

При попытке собрать OpenStreetMapView из git: //github.com/osmdroid/osmdroid я получаю эту ошибку:

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

Как я могу это исправить? Предыдущие вопросы, похожие на этот, предполагают, что android 23 не установлен, но в моем случае это так.

Ниже приведена соответствующая информация:

ANDROID_HOME - это D:\Users\myusername\AppData\Local\Android\sdk

D:\Users\myusername\AppData\Local\Android\sdk\platforms\ содержит каталог \ android-23 \, (а также 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'
}

Я попытался изменить targetSdkVersion и compileSdkVersion на 22. В результате сообщение об ошибке изменилось на «android-22» вместо «android-23».

SDK Manager: введите описание изображения здесь

Эл Лелопат
источник

Ответы:

79

В моем случае очистка кеша не сработала.

В SDK Manager не забудьте установить флажок «показать описания пакетов» ; тогда вам также следует выбрать «API Google» для версии, которую вы хотите установить.

Установите его, и тогда все будет в порядке

Хтафоя
источник
2
Это сработало. Пришлось загрузить инструменты сборки после завершения работы диспетчера SDK, но определенно не нужно было удалять папку .gradle или делать недействительный кеш.
Билл Моут,
Спасибо! Работал нормально.
carlodonz 01
22

В Android Studio File -> Invalidate Caches/Restartпроблема решена для меня.

Мохаммед Али
источник
1
Это просто улучшение ответа @AlLelopath.
Мохаммед Али
18

Ответ на этот вопрос .

Gradle время от времени становится глупым, и очистка кеша - единственное решение, которое я нашел. Вы найдете скрытую папку .gradle под своей домашней папкой пользователя и еще одну, где бы ни находилась касса для osmdroid.

Эл Лелопат
источник
3
Я удалил папки, перезагрузил, и проблема все еще не
устранена
13

Я решил проблему, открыв Android SDK Manager и установив инструменты сборки для всех версий 23.xx.

Смотрите скриншот.

введите описание изображения здесь

Радмация
источник
Вот и все! (с помощью Deco на Mac) Спасибо!
JeremyF
5

Примечание: я думаю, что это может быть ошибка в Android Studio.

  1. Перейти к структуре проекта
  2. Выберите модуль приложения
  3. На первой вкладке «Свойства» измените версию Compile SDK Version на API XX из Google API xx (например, API 23 вместо Google API 23).
  4. Нажмите ОК
  5. Дождитесь завершения текущего процесса, в моем случае на этом этапе я не получал ошибки.

Теперь верните скомпилированную версию Sdk обратно в Google API xx.

Если это не сработает, тогда:

  1. С помощью Google API (Google API xx вместо API xx) уменьшите версию инструмента сборки (например, Google API 23 и версию инструмента сборки 23.0.1)
  2. Нажимаем ОК и ждем завершения текущего процесса
  3. Верните свою версию инструмента сборки к той, которая была до изменения
  4. Нажмите ОК
  5. Дождитесь завершения процесса.
  6. Готово!
Сагар Патель
источник
3

Следование этим рекомендованным направлениям, похоже, сработало:

Подсказка: откройте диспетчер SDK, запустив: / path / to / android / tools / android

Вам потребуются: 1. «SDK Platform» для android-23 2. «Android SDK Platform-tools (последняя версия) 3.« Android SDK Build-tools »(последняя).

Geremy
источник
3

У меня была такая же проблема с другим номером, это сработало для меня:

  1. Нажмите на сообщение об ошибке вверху «Ошибка синхронизации проекта Gradle», где написано «Открыть просмотр сообщения».

  2. В окне «Message Gradle Sync» в нижнем левом углу щелкните предоставленное решение «Установить отсутствует ...»

  3. При необходимости повторите 1 и 2.

23:08 Ошибка синхронизации Gradle: не удалось найти цель с хеш-строкой 'android-26' в: C: \ Users \ vik \ AppData \ Local \ Android \ Sdk

Android SDK предоставляет решение в нижнем левом углу Android SDK предоставляет решение в нижнем левом углу

ВикторМС
источник
Добавьте дополнительную информацию в случае, если ссылка на изображение исчезнет, ​​чтобы другие могли последовать за ответом даже после того, как ссылка исчезнет.
Dessus
2

Для меня это сработало, изменив compileSdkVersionна 24 и targetSdkVersionна 24 и изменив compileнаcom.android.support:appcompat-v7:24.1.0

Акшат Гупта
источник
2

Есть 2 решения этой проблемы:

1) Загрузите соответствующий Android SDK через Инструменты -> Android -> Менеджер SDK -> Инструменты SDK (убедитесь, что у вас установлен флажок «Показать детали пакета»). В вашем случае будет Android 6.0 (Marshmallow / API level 21).

2) Также можно открыть build.gradleфайл и обновить следующие атрибуты:

  • compileSdkVersion
  • buildToolsVersion
  • targetSdkVersion

либо к самой последней версии Android API, которую вы установили, либо к другой установленной версии, которую вы хотели бы использовать (хотя я всегда рекомендую использовать последнюю версию по обычным причинам: исправления ошибок и т. д.)

Если вы выполняете шаг 2, также важно не забыть обновить версию библиотеки поддержки Android, если ваше приложение ее использует. Его можно найти в dependenciesразделе вашего файла сборки и выглядит примерно так:

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

(замените 27.0.2на самую последнюю версию библиотеки поддержки для уровня API, который вы собираетесь использовать в своем приложении)

Скотт Барбур
источник
1

Откройте Android SDK Manager и обновите его до последней версии.

Бисваджит Кармакар
источник
1

У меня ничего не работало. Я изменил путь SDK на новое место SDK и переустановил SDK, он работает отлично.

user1035292
источник
1

Инструменты> Android> Диспетчер SDK.

введите описание изображения здесь

CoolMind
источник
Обычно я не поклонник лаконичных ответов, но это красиво сделано. Решил все за меня.
Le Mot Juiced
Спасибо, @LeMotJuiced.
CoolMind
1

У меня была эта проблема при использовании Windows. Оказалось, что проблема была в расположении SDK в моих профилях. Поэтому мне пришлось переместить папку SDK в документы, и это сработало.

user3288482
источник
1

Моя жаловалась на 26. Я просмотрел свои папки и нашел папку для 27, но не для 26. Поэтому я изменил свой файл build.gradle, заменив 26 на 27. compileSdkVersion, targetSdkVersion и implementation (изменил эти числа на v: 7 : 27.02). Это изменило мое сообщение об ошибке. Затем я добавил buildToolsVersion «27.0.3» в раздел скобок Android прямо под compileSdkVersion.

Теперь кнопка создания проекта работает с 0 сообщениями.

Далее, как на самом деле выбрать модуль в моей конфигурации, чтобы я мог его запустить.

Neo42
источник
1

Для меня проблема заключалась в том, что я написал compileSdkVersion '23' вместо 23. Кавычки были проблемой.

Конновдев
источник
1

Загрузите конкретную версию Android по ссылке, указанной в консоли сборки.

KayV
источник
1

Это poblem решается для меня после того, какRun as administratorAndorid Studio

PurTahan
источник
0

Проблема вызвана тем, что код, который вы запускаете, был создан на более старом уровне API, и ваш текущий диспетчер SDK не поддерживает их запуск. Так что попробуйте следующее; 1. Установите SDK Manager, который поддерживает уровень API 23. Перейдите в> SDK Manager,> Android SDK, затем выберите API 23 и установите. 2. второй альтернативой является обновление модуля приложения build.grade, чтобы изменить compileSdkVersion, compile и другие числа на ваш текущий поддерживаемый уровень API.

Примечание: обязательно проверьте номера API и версии и измените их точно. иначе ваш проект не синхронизируется

Kose
источник
0

Убедитесь, что IDE распознает, что у вас есть пакет. Его не было у меня даже после загрузки 28, поэтому я удалил, а затем переустановил его, когда понял, что он не отображается в приложении File-Project Structure-Modules-App как вариант для SDK.

Кроме того, вы можете изменить свой путь сборки, чтобы он соответствовал.

В некоторой степени связанные с этим последние обновления кажутся способными скомпилироваться, когда я принудительно обновил до 28 для CompileSDK, а не только до нового 26-минутного требования API из Google Play. Однако это связано с зависимостями и может не повлиять на ваши

Стивен Дж.
источник