Студия Android - не удалось найти целевой android-18


95

У меня проблема с Android Studio 0.2.3.

Когда я запускаю свой проект, сборка останавливается и появляется сообщение:

Gradle: не удалось выполнить задачу ': AppName : compileDebugAidl'.
> не удалось найти цель android-18

хотя я установил платформу SDK для Android 4.3 (API 18) и попытался переустановить весь SDK. Я также добавил ANDROID_HOMEпеременную в системные переменные.

Что, кажется, является источником этой ошибки?


какова ваша минимальная цель для проекта?
Дэйв Альперович

Android 2.3.3 (API 10)
RobertoAV96

1
Настройки переменной ANDROID_HOME в моем .bash_profile в моем местоположении SDK Android Studio (где я загрузил v18) исправили это для меня!
Дэниел Смит

У меня были диакритические знаки в моем домашнем пути пользователя, это помогло: stackoverflow.com/a/53994123/5242995
Мартин

Ответы:


119

Я думаю, у вас может не быть установлен Android-18 sdk. Перейдите в Инструменты> Android> SDK Manager и проверьте, установлен ли Android 4.3 (API 18).


10
На самом деле, когда у меня возникла проблема, SDK Android-18 был установлен, но я думаю, что Android Studio не обнаружила его. Я решил, удалив и переустановив SDK и Studio.
RobertoAV96

3
Когда я получил аналогичную ошибку, просто перезапуска Android Studio было достаточно, а не полной переустановки.
Code-Apprentice

1
Перезагрузка Mac была единственным, что позволило IntelliJ увидеть недавно установленные SDK.
codeulike

50

Я решил проблему, изменив compileSdkVersionв файле Gradle.build с 18 на 17.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
}

хорошая работа. Думаю, того же можно было бы достичь, если бы вы достигли минимальной цели. На самом деле, это вряд ли будет работать на 2.3.3
Дэйв Альперович

3
Это действительно не решение проблемы, особенно если вы пытаетесь использовать функции, доступные только в 18+,
Дэниел Смит

Как сделать так, чтобы вместо этого использовалась последняя версия SDK? У меня аналогичная проблема с этой библиотекой: github.com/devunwired/custom-view-examples , и хотя я сделал аналогичные шаги, я получаю эту ошибку.
разработчик Android

10

ШАГ 1) Запустите Android SDK Manager

С помощью androidкоманды, как показано ниже,

$ /usr/local/android-studio/sdk/tools/android

ШАГ 2) Найдите API 18

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

ШАГ 3) Выберите Android 4.3 (API 18) и установите пакеты.


5

Что сработало для меня в Android Studio (0.8.1):

  1. Щелкните правой кнопкой мыши имя проекта и откройте Настройки модуля.
  2. Проверить расположение SDK SDK
  3. Проверьте версии Gradle и плагина (просмотрите подсказки к сообщениям об ошибках, чтобы выбрать правильную версию) Градке
  4. В модуле приложения установите для параметра Compile SDK Version значение android-L (последнее).
  5. Установите для версии Build Tools наибольшее доступное значение (в моем случае 20.0.0) Построить

Эти изменения через пользовательский интерфейс вносят эквивалентные изменения, представленные в других ответах, но это лучший способ продолжить, потому что при закрытии все соответствующие файлы (текущие и будущие) будут обновлены автоматически (что полезно при столкновении с множеством мест, где могут возникнуть проблемы. ).

NB: очень важно просмотреть журнал событий и отметить, что Android Studio предоставляет полезные сообщения об альтернативных способах решения таких проблем.


3

Спасибо, RobertoAV96.

Ты мой герой. Но этого мало. В моем случае я изменил и compileSdkVersion, и buildToolsVersion. Теперь это работает. Надеюсь на эту помощь

buildscript {
       repositories {
           mavenCentral()
       }
       dependencies {
          classpath 'com.android.tools.build:gradle:0.6.+'
       }
   }
   apply plugin: 'android'

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

   android {
       compileSdkVersion 19
       buildToolsVersion "19"

       sourceSets {
           main {
               manifest.srcFile 'AndroidManifest.xml'
               java.srcDirs = ['src']
               resources.srcDirs = ['src']
               aidl.srcDirs = ['src']
               renderscript.srcDirs = ['src']
               res.srcDirs = ['res']
               assets.srcDirs = ['assets']
           }

           // Move the tests to tests/java, tests/res, etc...
           instrumentTest.setRoot('tests')
           // Move the build types to build-types/<type>
           // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ..
           // This moves them out of them default location under src/<type>/... which would
           // conflict with src/ being used by the main source set.
           // Adding new build types or product flavors should be accompanied
           // by a similar customization.
           debug.setRoot('build-types/debug')
           release.setRoot('build-types/release')
       }
   }

2

Если у вас возникла проблема, вы открыли диспетчер SDK, установили запрошенные обновления, вернулись в Android Studio и снова столкнулись с проблемой, РЕКОМЕНДУЕТСЯ ПЕРЕЗАПУСТИТЬ ANDROID STUDIO, прежде чем пытаться что-то еще.

Gradle запустится автоматически, и есть вероятность, что ваша проблема будет решена. Возможно, вам будет предложено установить соответствующий пакет SDK TOOLS, который находится в вашем SDK MANAGER на второй вкладке (sdk - это не то же самое, что инструменты sdk, они являются дополнительными пакетами).

Вам даже не нужно искать пакет инструментов, если вы нажмете ссылку под сообщением об ошибке, Android Studio вызовет диспетчер SDK для автоматической установки пакета.

Перезапустите Android Studio еще раз, и вы должны начать работу намного быстрее, чем если бы вы пытались обходные пути.

ПРАВИЛО> перезапустите приложение, прежде чем возиться с параметрами и конфигурациями.


1

Проверьте файл local.properties в своем проекте Studio. Скорее всего, свойство sdk.dir указывает на неправильную папку, если вы установили / настроили предыдущий SDK для Android из до-студийной эпохи. Это было решение в моем случае.


0

У меня была такая же проблема при попытке попробовать Android Studio. У меня уже были проекты, запущенные на ADT под SDK 18. Нет необходимости взламывать файлы манифеста.

Исправлено:

экспорт ANDROID_HOME = pathtobundle / adt-bundle-linux-x86_64-20130729 / sdk

Если у вас не установлен ADT и вы просто хотите SDK, кажется, что хорошее решение - установить все, а затем указать Android Studio только на упакованный SDK.

cd pathtobundle

wget http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20130729.zip

разархивировать * .zip

Как сказал кто-то другой, вам может потребоваться запустить SDK Manager для установки желаемых пакетов перед запуском Studio.


0

У меня была аналогичная проблема, когда у меня были установлены Eclipse, Android Studio и автономный Android SDK (проблема заключалась в том, что AVD Manager не мог найти целевые изображения). Я использовал Eclipse для разработки под Android, но перешел на Android Studio и быстро обнаружил, что Android Studio не может найти мои ранее созданные AVD.

Проблема может заключаться в том, что Android Studio смотрит на собственный Android SDK (находится в C: \ Users \ username \ AppData \ Local \ Android \ android-studio \ sdk), а не на ранее установленный автономный SDK, который я установил в C: \ adt \ sdk.

Переименование папки SDK Android Studio в C: \ Users ... (переименуйте ее только на случай, если что-то сломается), а затем создание символической ссылки между местоположением Android Studio SDK и автономным Android SDK устраняет эту проблему.

Я также использовал расширение Link Shell Extension ( http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html ) просто для того, чтобы утомить создание символьных ссылок.


0

Это также произойдет, если вы написали, compileSdkVersion = 22например, (как используется в «новой новой» системе сборки Android) вместо compileSdkVersion 22.


0

Вы можете решить проблему, изменив compileSdkVersion в файле Grandle.build с 18 до установленного SDK ... BUTTTTT

  1. Если вы пытаетесь вернуться к версиям SDK, например с 18 по 17, вы не можете использовать функцию, доступную в 18 или 18+.

  2. Если вы переносите свой проект (Eclipse на Android Studio), то, конечно, у вас нет файла build.gradle в вашем существующем проекте Eclipse

Итак, единственное решение - убедиться, что версия SDK установлена ​​или нет, на которую вы ориентируетесь. Если нет, то установите.

Ошибка: Причина: не удалось найти цель с хеш-строкой 'android-19' в: C: \ Users \ setia \ AppData \ Local \ Android \ sdk


0

Цель с хеш-строкой «android-18» соответствует уровню SDK 18. Вам необходимо установить SDK 18 из диспетчера SDK.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.