Zmiana poziomu interfejsu API Android Studio


414

Chcę zmienić minimalną wersję zestawu SDK w Android Studio z API 12 na API 14. Próbowałem zmienić ją w pliku manifestu, tj.

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="18" />

i przebudowywanie projektu, ale wciąż dostaję błąd w IDE Android Studio. Zakładam, że muszę ustawić minimalny zestaw SDK we „właściwościach projektu” lub coś podobnego, aby IDE rozpoznało zmianę, ale nie mogę znaleźć, gdzie to się dzieje w Android Studio.


1
co to za błędy? nie możemy ci pomóc bez logcat
Arash GM

1
Nie są to błędy kompilacji. To IDE daje czerwone podkreślenie, gdy próbuję użyć `GridLayout 'w xml układu, tj. Mówiąc mi, że wymagany jest minimalny poziom API 14. Dlatego musi istnieć gdzieś w Android Studio, gdzie można ustawić minimalny poziom API po utworzeniu projektu. Widziałem podobne posty dla Eclipse, ale nie dla Androida Studio.
James B,

Czy zainstalowałeś pakiet SDK interfejsu API poziomu 14?
ramaral

Jeśli zaczynam nowy projekt i od samego początku wybieram interfejs API na poziomie 14, nie mam problemu z programowaniem w Android Studio, tzn. Muszę mieć zainstalowany pakiet SDK poziomu 14. Jednak jeśli chcę po prostu zaktualizować istniejący projekt, aby używać API 14 jako minimum, nie mogę ustalić, gdzie w IDE GUI Android Studio, że mu to zrobię.
James B,

Opublikuj swój Logcat. i aby to zmienić, MinSDKVersionjest to najprostsze rozwiązanie, które już wypróbowaliście. tj. zmienićManifest
Mitesh Shah,

Odpowiedzi:


582

Gdy chcesz zaktualizować minSdkVersion w istniejącym projekcie ...

  1. Aktualizacjabuild.gradle(Module: app) - upewnij się, że jest to skrypt Gradle Script i NIE jest build.gradle(Project: yourproject).

Przykład build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.2"

    defaultConfig {
        applicationId "com.stackoverflow.answer"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

dependencies {
    androidTestCompile 'junit:junit:4.12'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
  1. Przycisk synchronizacji stopni (odświeża również wszystkie projekty stopni)

Dla początkujących w Android Studio „Przycisk synchronizacji stopniowania” znajduje się w menu Narzędzia -> Android -> Synchronizuj projekt z plikami stopniowania „Przebuduj projekt” Kompilacja -> Przebuduj projekt

  1. Odbuduj projekt

Po aktualizacji build.gradle „s minSdkVersion, trzeba kliknąć na przycisk, aby zsynchronizować Gradle plik («Sync projektu z plików Gradle»). To wyczyści znacznik.

Aktualizacja pliku manifest.xml , np. W celu usunięcia wszelkich odniesień do poziomów SDK w pliku manifestu, NIE jest już konieczna w Android Studio.


7
Build.gradle mojego projektu jest pusty? Jaka jest składnia do aktualizacji? --- Ups, są dwa pliki build.gradle. Znalazłem ten w -> src ma wersje itp.
mobibob

4
Korzystając z tej rady, udało mi się zsynchronizować rzeczy, ale musiałem WYJŚĆ z Android Studio, zanim kompilacja będzie wolna od błędów. Wykonałem wiele małych kroków, więc nie wiem, co było naprawdę niezbędnym krokiem.
mobibob

5
dlaczego sprawili, że to taki ból piłki? wydaje się, że w zaćmieniu musiałem to zrobić tylko w jednym miejscu ...
Dean Wild

1
@DeanWild In Android Studio jest również w jednym miejscu. Zapomnij o poziomach API w pliku manifestu.
Sotti

2
Dla początkujących w Android Studio przycisk „Stopień synchronizacji” znajduje się w Tools -> Android -> Sync Project with Gradle Files„Przebuduj projekt”Build -> Rebuild Project
CGR

169

Dla użytkowników studia Android:

  1. kliknij prawym przyciskiem myszy katalog aplikacji
  2. wybierz opcję „Ustawienia modułu”
  3. zmień platformę ADK tak, jak potrzebujesz
  4. Kliknij Zastosuj

Stopień automatycznie przebuduje projekt.


3
Powyższe rozwiązanie jest dla mnie najlepszą drogą. Pozwól, aby narzędzie wprowadziło wszystkie niezbędne zmiany, np. Majstrujesz przy różnych plikach, ryzykując zepsucie rzeczy lub zapomnienie ważnych szczegółów.
GeertVc

2
To nie działa w Studio 0.8.2. Możesz zmienić ustawienia i nacisnąć przycisk aplly, ale studio to zignoruje. <br/> Rozwiązanie: - Zamknij Android Studio - Edytuj „/app/build.gradle” - zmień wpis SDK-MinVersion - uruchom ponownie Android Studio Gradle synchronizuje się automatycznie
Martin

W Studio 1.4 musisz zajrzeć na zakładkę „Aromaty”. Zobacz odpowiedź priyankvex.
Yannick,

W Studio 3.5 musisz kliknąć kartę „Domyślna konfiguracja”. Wygląda na to, że karta Smaki już nie istnieje.
Suma Brak

135

Ponieważ teraz Android Studio jest stabilny, istnieje łatwy sposób, aby to zrobić.

  1. Kliknij prawym przyciskiem myszy plik projektu
  2. Wybierz „Otwórz ustawienia modułu”
  3. Przejdź do zakładki „Aromaty”.

wprowadź opis zdjęcia tutaj

  1. Wybierz wersję Min SDK z rozwijanej listy

PS: Chociaż na to pytanie już udzielono odpowiedzi, ale Android Studio zmieniło się nieco dzięki stabilnemu wydaniu. Łatwy i prosty sposób pomoże każdemu nowemu poszukiwaczowi odpowiedzi wylądować tutaj.


1
Edycja plików stopni nie działała dla mnie, ale tak się stało. Dzięki!
Al0x

1
To się znowu zmieniło: karty „Smaki” już nie ma. Zamiast tego w kroku 3 w obszarze Ustawienia projektu kliknij Moduły, a następnie za pomocą menu rozwijanego Poziom projektu wybierz wersję interfejsu API. To nie jest to samo co ustawienie minimalnej wersji API, ale raczej wersja, która zostanie użyta do zbudowania aplikacji.
hamx0r

To musi być zaakceptowana odpowiedź. Najmniej nowsza wersja Androida Studio
Vivekanand

3
Dostaję tylko api 23 w rozwijanym menu ... Potrzebuję api 10
Reign.85

1
trochę? to cholerne IDE bardzo zmienia między wersjami, powodując wiele przerw w uruchamianiu starego kodu. Bardzo, bardzo żałosne w porównaniu ze spuścizną wstecznej kompatybilności, której przykładem jest Microsoft.
user30478,

10

W Android Studio możesz łatwo nacisnąć:

  1. Ctrl+ Shift+ Alt+ S.
  2. Jeśli masz nowszą wersję android studio, najpierw naciśnij aplikację. Następnie przejdź do kroku trzeciego w następujący sposób.
  3. Otworzy się okno z wieloma opcjami
  4. Przejdź do Flavours i to właściwie wszystko, czego potrzebujesz

Możesz również zmienić tam versionCodeswoją aplikację.


6

W build.gradlezmianie minSdkVersion 13na minSdkVersion 8to wszystko trzeba zrobić. Rozwiązałem mój problem, robiąc to tylko.

defaultConfig {
    applicationId "com.example.sabrim.sbrtest"
    minSdkVersion 8
    targetSdkVersion 20
    versionCode 1
    versionName "1.0"
}

6

Zgodnie z tą odpowiedzią , po prostu nie dołączasz minsdkversion do pliku manifest.xml, a system kompilacji użyje wartości z pliku build.gradle i umieści informacje w końcowym pliku apk.

Ponieważ system kompilacji i tak potrzebuje tych informacji, ma to sens. Nie trzeba definiować tych wartości dwa razy.

Musisz tylko zsynchronizować projekt po zmianie build.gradlepliku, ale Android Studio 0.5.2 wyświetla żółty pasek stanu na górze okna edytora build.gradle, aby Ci pomóc

Zwróć też uwagę, że istnieją co najmniej dwa build.gradlepliki: jeden główny i jeden dla aplikacji / modułu. Ten, który należy zmienić, znajduje się w aplikacji / module, zawiera już właściwość minSdkVersionw nowo wygenerowanym projekcie.


5

Jeśli masz problemy z określeniem docelowego zestawu SDK dla interfejsów API Google zamiast podstawowego zestawu SDK platformy, po prostu zmień compileSdkVersion 19nacompileSdkVersion "Google Inc.:Google APIs:19"


5

W najnowszym Android Studio 2.3.3 (11 października 2017 r.):
1. Kliknij Viewpasek menu
2. Kliknij Otwórz ustawienia modułu
3. Otwórz Flavorskartę
4. Wybierz minimalną Sdkwersję, której potrzebujesz
Okno struktury projektu IDE 6. Kliknij OK


4

Oprócz aktualizacji manifestu, zaktualizuj również build.gradleplik modułu (jest on wymieniony w okienku projektu tuż pod manifestem - jeśli nie ma minSdkVersionw nim klucza, patrzysz na niewłaściwy, ponieważ jest ich kilka). Przebudowa i wszystko powinno być w porządku ...


3

W Android studio otwórz build.gradle i edytuj następującą sekcję:

defaultConfig {
    applicationId "com.demo.myanswer"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}

tutaj możesz zmienić minSdkVersion z 12 na 14


1

Zmiana minSdkVersion w manifeście nie jest konieczna. Jeśli zmienisz go w pliku kompilacji stopni, jak pokazano poniżej, osiągniesz to, co musisz zrobić.

defaultConfig {
   applicationId "com.demo.myanswer"
   minSdkVersion 14
   targetSdkVersion 23
   versionCode 1
   versionName "1.0"
}

0

Dla mnie to, co zadziałało, to: (kliknięcie prawym przyciskiem myszy) projekt-> narzędzia android-> wyczyść markery kłaczków. Chociaż z jakiegoś powodu Manifest powrócił do starego (niższego) minimalnego poziomu API, ale po zmianie go z powrotem na nowy (wyższy) poziom API, nie było podkreślenia czerwonego błędu i projekt używa teraz nowego minimalnego poziomu API.

Edycja: Przepraszam, widzę, że używasz Androida Studio, a nie Eclipse. Ale wydaje mi się, że gdzieś w Studio są podobne „wyraźne markery włókien” i może to rozwiązać problem.


0

Skrypty stopniowe ->
build.gradle (moduł: aplikacja) ->
minSdkVersion (Your min sdk version)


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.