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


94

У мене проблема з 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
Мартін Široký

Відповіді:


118

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


10
Насправді, коли у мене виникла проблема, був встановлений Android-18 sdk, але я думаю, що Android Studio цього не виявила. Я вирішив це шляхом видалення та повторної інсталяції SDK і Studio.
RobertoAV96

3
Коли я отримав подібну помилку, достатньо було просто перезапустити Android Studio, а не повністю перевстановити.
Code-Apprentice

1
Перезапуск mac - це єдине, що дозволило IntelliJ бачити нещодавно встановлені SDK для мене.
кодек

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 та Plugin (перегляньте підказки щодо помилок для правильної версії) Градке
  4. У модулі програми встановіть для Compile SDK Version версію android-L (остання)
  5. Встановіть для версії Build Tools найбільше доступне значення (у моєму випадку 20.0.0) Збірка

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

Примітка. Дуже важливо переглянути журнал подій та зазначити, що 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 і проблема знову з’явилася, РЕКОМЕНДУЄТЬСЯ ПЕРЕЗАПУСКАТИ АНДРОІД-СТУДІЮ перед тим, як спробувати щось інше.

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

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

Перезапустіть Android Studio ще раз, і ви повинні працювати і працювати набагато швидше, ніж якщо б ви намагалися обійти шляхи.

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


1

Перевірте файл local.properties у вашому проекті Studio. Швидше за все, властивість sdk.dir вказує на неправильну папку, якщо ви встановили / налаштували попередній android sdk з епохи до студії. Це було рішення у моєму випадку.


0

У мене була та ж проблема під час випробування Android Studio. У мене вже працювали проекти на ADT під SDK 18. Не потрібно зламати файли маніфесту.

Виправлено:

експортувати ANDROID_HOME = pathtobundle / adt-bundle-linux-x86_64-20130729 / sdk

Якщо у вас не встановлено ADT, і ви просто хочете SDK, хорошим рішенням є встановити все, а потім направити Android Studio на щойно упакований SDK.

cd шлях до набору

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

розпакувати * .zip

Як сказав хтось інший, можливо, вам доведеться запустити менеджер SDK, щоб встановити потрібні пакети перед запуском Studio.


0

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

Проблема може полягати в тому, що Android Studio розглядає власний пакет SDK для Android (знайдений у C: \ Users \ username \ AppData \ Local \ Android \ android-studio \ sdk), а не раніше встановлений автономний SDK, який я встановив на C: \ adt \ sdk.

Перейменування папки SDK Android Studio в C: \ Users ... (перейменуйте її лише на випадок, якщо щось зламається), а потім створення символічного зв’язку між розташуванням SDK для Android Studio та автономним пакетом SDK для Android вирішує цю проблему.

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


0

Це також трапиться, якщо ви написали, compileSdkVersion = 22наприклад (як використовується в "новій новій" системі збірки Android), а не compileSdkVersion 22.


0

Ви можете вирішити проблему, змінивши compileSdkVersion у файлі Grandle.build з 18 на wtever 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.