Android studio - nie udało się znaleźć docelowego Androida-18

95

Mam problem z Androidem Studio 0.2.3.

Kiedy uruchamiam projekt, kompilacja zatrzymuje się i pojawia się komunikat:

Gradle: wykonanie nie powiodło się dla zadania „: AppName : compileDebugAidl”.
> nie udało się znaleźć docelowego systemu Android-18

chociaż zainstalowałem platformę SDK systemu Android 4.3 (API 18) i próbowałem ponownie zainstalować cały zestaw SDK. Dodałem również ANDROID_HOMEzmienną do zmiennych systemowych.

Co wydaje się być źródłem tego błędu?

RobertoAV96
źródło
jaki jest twój minimalny cel projektu?
Dave Alperovich,
Android 2.3.3 (API 10)
RobertoAV96
1
Ustawiając zmienną ANDROID_HOME w moim .bash_profile na moją lokalizację SDK w Android Studio (gdzie pobrałem v18) naprawiłem to dla mnie!
Daniel Smith,
Miałem znaki diakrytyczne w mojej ścieżce domowej użytkownika, to pomogło: stackoverflow.com/a/53994123/5242995
Martin Široký

Odpowiedzi:

119

Myślę, że możesz nie mieć zainstalowanego zestawu SDK dla systemu Android-18. Wybierz Narzędzia> Android> Menedżer SDK i sprawdź, czy jest zainstalowany Android 4.3 (API 18).

Calvin Li
źródło
10
W rzeczywistości, kiedy miałem problem, zainstalowano zestaw SDK systemu Android-18, ale myślę, że Android Studio go nie wykrył. Rozwiązałem to, odinstalowując i ponownie instalując SDK i Studio.
RobertoAV96,
3
Kiedy otrzymałem podobny błąd, wystarczyło zrestartować Android Studio zamiast pełnej ponownej instalacji.
Code-Apprentice
1
Ponowne uruchomienie Maca było jedyną rzeczą, która pozwoliła IntelliJ zobaczyć dla mnie nowo zainstalowane SDK.
codeulike
50

Rozwiązałem problem, zmieniając compileSdkVersionw pliku Gradle.build z 18 na 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.+'
}
RobertoAV96
źródło
dobra robota. Myślę, że to samo zostałoby osiągnięte, gdybyś zwiększył swój minimalny cel. W rzeczywistości prawdopodobnie nie działałby na 2.3.3
Dave Alperovich
3
To naprawdę nie jest rozwiązaniem problemu, zwłaszcza jeśli próbujesz korzystać z funkcji dostępnych tylko w wieku 18+
Daniel Smith,
Jak sprawić, by zamiast tego używał tylko najnowszego zestawu SDK? Mam podobny problem z tą biblioteką: github.com/devunwired/custom-view-examples i mimo że wykonałem podobne kroki, pojawia się ten błąd.
programista Androida
10

KROK 1) Uruchom Menedżera Android SDK

Z androidpoleceniem jak poniżej,

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

KROK 2) Znajdź API 18

wprowadź opis obrazu tutaj

KROK 3) Wybierz system Android 4.3 (API 18) i zainstaluj pakiety.

prayagupd
źródło
5

Co działało dla mnie w Android Studio (0.8.1):

  1. Kliknij prawym przyciskiem myszy nazwę projektu i otwórz Ustawienia modułu
  2. Sprawdź lokalizacje SDK SDK
  3. Sprawdź wersje Gradle i wtyczek (przejrzyj wskazówki dotyczące komunikatów o błędach, aby wybrać odpowiednią wersję do użycia) Gradke
  4. W module aplikacji ustaw wersję Compile SDK na android-L (najnowsza)
  5. Ustaw wersję Build Tools na największą dostępną wartość (w moim przypadku 20.0.0) Budować

Te zmiany za pośrednictwem interfejsu użytkownika powodują równoważne zmiany przedstawione w innych odpowiedziach, ale są lepszym sposobem postępowania, ponieważ po zamknięciu wszystkie odpowiednie pliki (obecne i przyszłe) zostaną automatycznie zaktualizowane (co jest pomocne w konfrontacji z wieloma miejscami, w których mogą wystąpić problemy ).

Uwaga: bardzo ważne jest, aby przejrzeć dziennik zdarzeń i zauważyć, że Android Studio zawiera pomocne komunikaty dotyczące alternatywnych sposobów rozwiązywania takich problemów.

Tommie C.
źródło
3

Dziękuję RobertoAV96.

Jesteś moim bohaterem. Ale to nie wystarczy. W moim przypadku zmieniłem zarówno compileSdkVersion, jak i buildToolsVersion. Teraz to działa. Mam nadzieję, że to pomoże

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')
       }
   }
Hoa Hoang
źródło
2

Jeśli napotkałeś problem, otworzyłeś menedżera SDK, zainstalowałeś żądane aktualizacje, wrócił do Android Studio i ponownie wystąpił problem, ZALECA SIĘ PONOWNIE URUCHOMIĆ ANDROID STUDIO przed wypróbowaniem czegokolwiek innego.

Gradle uruchomi się automatycznie i jest szansa, że ​​problem zostanie rozwiązany. Najprawdopodobniej zostaniesz poinformowany o zainstalowaniu odpowiedniego pakietu SDK TOOLS, który znajduje się w menedżerze SDK w drugiej zakładce (sdk to nie to samo co narzędzia sdk, są to pakiety uzupełniające).

Nie musisz nawet szukać pakietu narzędzi, jeśli klikniesz łącze pod komunikatem o błędzie, Android Studio powinno wywołać Menedżera SDK, aby automatycznie zainstalować pakiet.

Ponownie uruchom Android Studio i powinieneś zacząć działać znacznie szybciej, niż gdybyś próbował obejść ten problem.

REGUŁA KCIUKA> zrestartuj aplikację, zanim zaczniesz zmieniać opcje i konfiguracje.

tony gil
źródło
1

Sprawdź plik local.properties w swoim projekcie Studio. Istnieje prawdopodobieństwo, że właściwość sdk.dir wskazuje na niewłaściwy folder, jeśli ustawiłeś / skonfigurowałeś poprzedni zestaw SDK systemu Android z czasów sprzed ery studia. To było rozwiązanie w moim przypadku.

Toni Menzel
źródło
0

Miałem ten sam problem podczas wypróbowywania Android Studio. Miałem już projekty uruchomione na ADT pod SDK 18. Nie ma potrzeby hakowania plików manifestu.

Naprawione przez:

eksport ANDROID_HOME = pathtobundle / adt-bundle-linux-x86_64-20130729 / sdk

Jeśli nie masz zainstalowanego ADT i po prostu chcesz SDK, wydaje się, że dobrym rozwiązaniem jest zainstalowanie wszystkiego, a następnie wskazanie Android Studio tylko spakowanego SDK.

cd pathtobundle

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

rozpakuj * .zip

Jak powiedział ktoś inny, przed uruchomieniem Studio może być konieczne uruchomienie Menedżera SDK, aby zainstalować żądane pakiety.

dturvene
źródło
0

Miałem podobny problem, gdy miałem zainstalowane zarówno Eclipse, Android Studio, jak i samodzielny Android SDK (problem polegał na tym, że AVD Manager nie mógł znaleźć obrazów docelowych). Używałem Eclipse do programowania na Androida, ale przeniosłem się do Android Studio i szybko odkryłem, że Android Studio nie może znaleźć moich wcześniej utworzonych plików AVD.

Problem może potencjalnie polegać na tym, że Android Studio szuka własnego zestawu SDK systemu Android (znajdującego się w C: \ Users \ nazwa_użytkownika \ AppData \ Local \ Android \ android-studio \ sdk), a nie wcześniej zainstalowanego samodzielnego zestawu SDK, który zainstalowałem w C: \ adt \ sdk.

Zmiana nazwy folderu SDK Android Studio w C: \ Users ... (zmień tylko jego nazwę, na wypadek, gdyby coś się zepsuło), a następnie utworzenie symbolicznego połączenia między lokalizacją Android Studio SDK a samodzielnym Android SDK rozwiązuje ten problem.

Użyłem również rozszerzenia powłoki linków ( http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html ), aby wyeliminować nudę z tworzeniem dowiązań symbolicznych.

deltafalcon
źródło
0

Stanie się tak również, jeśli napiszesz compileSdkVersion = 22np. (Tak jak w „nowym nowym” systemie kompilacji Androida) zamiast compileSdkVersion 22.

nmr
źródło
0

Możesz rozwiązać problem zmieniając compileSdkVersion w pliku Grandle.build z 18 na wt, kiedy SDK jest zainstalowany ..... BUTTTTT

  1. Jeśli próbujesz wrócić do wersji SDK, takich jak 18 do 17, nie możesz korzystać z funkcji dostępnej w wersjach 18 lub 18+

  2. Jeśli migrujesz swój projekt (Eclipse do Android Studio) Oczywiście, nie masz pliku build.gradle w swoim projekcie Existed Eclipse

Tak więc jedynym rozwiązaniem jest upewnienie się, że wersja zestawu SDK jest zainstalowana lub nie, a jeśli nie, zainstaluj.

Błąd: Przyczyna: nie udało się znaleźć celu z ciągiem skrótu „android-19” w: C: \ Users \ setia \ AppData \ Local \ Android \ sdk

Gaurav Setia
źródło
0

Cel z ciągiem skrótu „android-18” odpowiada poziomowi SDK 18. Musisz zainstalować SDK 18 z menedżera SDK.

Shreyas
źródło