Jak zmienić kompilację docelową w projekcie systemu Android?

82

Obecnie mam projekt na Androida w Eclipse.

Stworzyłem go z docelową kompilacją 1.5 (sdk 3).

Teraz chcę to zmienić, aby miał minSdk 3 i targetSdk 8.

Aby to zrobić, widzę, że muszę zbudować na najnowszym SDK (2.2)

Aby to zrobić w Eclipse, klikam prawym przyciskiem myszy mój projekt, przechodzę do właściwości, klikam Android i zmieniam cel kompilacji projektu na Android 2.2 i klikam zastosuj, a następnie ok.

Jednak wydaje się, że nie ma to wpływu, a kiedy spróbuję ponownie, docelowa kompilacja jest ustawiona na Androida 1.5.

Brakuje mi kroku czy coś?

Donal Rafferty
źródło

Odpowiedzi:

95

Kliknij projekt prawym przyciskiem myszy i kliknij „Właściwości”. Następnie wybierz „Android” z drzewa po lewej stronie. Następnie możesz wybrać wersję docelową po prawej stronie.

(Uwaga, zgodnie z popularnym komentarzem poniżej, upewnij się, że właściwości, ścieżka klas i pliki projektu są dostępne do zapisu, w przeciwnym razie nie zadziała)

Ryan Conrad
źródło
20
okazuje się, że moje właściwości, ścieżka klas i pliki projektu zostały ustawione jako niezapisywalne, dlatego nie działały, działają teraz, dzięki
Donal Rafferty
3
Mam ten sam problem. Kontrola źródła uniemożliwiła zapis plików i uniemożliwiła zmianę. Nie dostajesz żadnego ostrzeżenia ani wskazania, że ​​jest problem ... po prostu się nie przełącza. Jeśli inni napotkają ten problem, upewnij się, że „wyewidencjonowałeś do edycji” lub wykonałeś jakąkolwiek właściwą akcję w swojej bibliotece kontroli źródła.
Michael Stoner
Jakiś sposób na ustawienie opcji DOMYŚLNE? Z wieloma pakietami APK jest to irytujące, że trzeba to ustawiać za każdym razem ...
MBillau
@DonalRafferty jak sprawdzić, czy są one zapisywalne, czy nie? i jak uczynić je zapisywalnymi?
Muhammad Babar
@Muhammad Babar Korzystałem z programu Visual Source, który automatycznie ustawiał pliki tylko do odczytu. Właśnie odznaczyłem pole Tylko do odczytu w plikach, używałem wtedy komputera z systemem Windows.
Donal Rafferty,
24
  1. W dowolnym momencie możesz zmienić cel kompilacji dla swojego projektu:

    Kliknij prawym przyciskiem myszy projekt w Eksploratorze pakietów, wybierz Właściwości, wybierz Android, a następnie zaznacz żądany obiekt docelowy projektu.

  2. Edytuj następujące elementy w pliku AndroidManifest.xml (znajduje się w katalogu głównym projektu)

    W tym przypadku będzie to:

    <uses-sdk android:minSdkVersion="3" />
    <uses-sdk android:targetSdkVersion="8" />
    

    Zapisz to

  3. Odbuduj swój projekt.

    Kliknij Projekt na pasku menu, wybierz Wyczyść ...

  4. Teraz ponownie uruchom projekt.

    Kliknij prawym przyciskiem myszy nazwę projektu, przejdź do Uruchom jako i wybierz aplikację Android

Nawiasem mówiąc, pomocne będzie przejrzenie zarządzania projektami z Eclipse za pomocą ADT . Zwłaszcza część o nazwie Tworzenie projektu na Androida.

Alan Will
źródło
5
Porada: Po wykonaniu wszystkich tych kroków uruchom ponownie Eclipse. To może zdziałać cuda.
cimnine
Zgoda! Nie mogłem tego uruchomić, dopóki Eclipse nie został ponownie uruchomiony.
Pedro
W Android Studio musiałem połączyć te linie razem. Nie jestem pewien, czy jest to specyficzne dla Android Studio, czy też format manifestu wymagał zmiany od czasu publikacji. np .: <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />
Eric Farraro,
@Alan Czy będę gęsty, ale gdzie u licha klikniesz ten pierwszy punkt ... Eksplorator pakietów ... Nigdzie nie widzę żadnych właściwości! : - (
Dariusz
11

Innym sposobem w wierszu poleceń, jeśli używasz ant, jest użycie skryptu android.bat (Windows) lub skryptu Androida (Mac). Jest w $ SDK_DIR / tools.

Jeśli powiesz,

android.bat update project --path .  --target "android-8"

zregeneruje plik build.xml, AndroidManifest.xml itp.

Scott C Wilson
źródło
6

Istnieją trzy sposoby rozwiązania tego problemu.

  1. Kliknij projekt prawym przyciskiem myszy i kliknij „Właściwości”. Następnie wybierz „Android” z lewej strony. Następnie możesz wybrać wersję docelową z prawej strony.

  2. Kliknij prawym przyciskiem myszy projekt i wybierz „uruchom jako”, a następnie otworzy się lista rozwijana.
    Wybierz "Uruchom konfigurację" z rozwijanej listy. Następnie formularz zostanie otwarty, wybierz zakładkę "Cel" z "Formularza", a także wybierz Android Version Api, na którym chcesz uruchomić swoją aplikację, jest to najszybszy sposób na sprawdzenie aplikacja w innej wersji docelowej.

  3. Edytuj następujące elementy w pliku AndroidManifest.xml

xml:

<uses-sdk android:minSdkVersion="3" />
<uses-sdk android:targetSdkVersion="8" />
Ranga
źródło
3

Cóż, zgadzam się z Ryanem Conradem co do tego, jak to zrobić podczas zaćmienia. Czy zapewniłeś, że zmieniłeś swój plik manifest.xml?

 <uses-sdk android:minSdkVersion="3" />
 <uses-sdk android:targetSdkVersion="8" />
stealthcopter
źródło
3

Problem pojawia się czasami, gdy w projekcie występują błędy.

Na przykład, jeśli twój projekt jest skonfigurowany z celem 3.2, ale biblioteki 3.2 nie są dostępne, nie będziesz mógł zmienić wersji na 4.0!

Zwykłym (być może brutalnym) rozwiązaniem, którego używam, jest utworzenie nowego projektu z poprawnym celem i skopiowanie src, res i manifest do nowego projektu.

Aktualizacja:

To wydaje się działać:

  1. Zmień wybrane za pomocą właściwości kompilacji w normalny sposób
  2. Ręcznie edytuj project.properties AND default.properties, aby upewnić się, że oba odzwierciedlają pożądany cel.
  3. Zamknij projekt i otwórz go ponownie

Zawsze korzystam z narzędzi Android | Napraw właściwości projektu po wprowadzeniu jakichkolwiek zmian w celu kompilacji.

Mike Way
źródło
3

Plik default.propertiesjest domyślnie tylko do odczytu, zmiana tego zadziałała.

notBanana
źródło
2

W pliku nie powinno być wielu tagów „uses-sdk”. ref - docs

Use this syntax:
    <uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />
javaProgrammer
źródło
1

Ja też miałem ten problem. To, co zadziałało, to najpierw odznaczenie poprzednio wybranej wersji SDK przed sprawdzeniem nowej żądanej wersji. Następnie kliknij OK.

Adukra
źródło
1

Jak mówi Mike Way. Zmień cel PRZED zrobieniem czegokolwiek w projekcie, który wymaga wyższego celu, takiego jak android: installLocation = "auto".

user1164035
źródło
0

kliknij prawym przyciskiem myszy projekt-> właściwości-> android-> wybierz nazwę celu - ustaw cel - kliknij OK

Shubhamhackz
źródło
0

od 2018 roku targetSdkVersion można skonfigurować w app/build.gradlenastępujący sposób:

android {
    compileSdkVersion 26
    buildToolsVersion '27.0.3'

    defaultConfig {
       ...
       targetSdkVersion 26
    }
    ...
}

jeśli wybierzesz 26 jako cel SDK, pamiętaj, aby postępować zgodnie z https://developer.android.com/about/versions/oreo/android-8.0-migration

Piotr Z
źródło
0

aby uzyskać sdk 29 - android 10:

Kliknij Narzędzia> Menedżer SDK.

Na karcie Platformy SDK wybierz Android 10 (29).

Na karcie SDK Tools wybierz Android SDK Build-Tools 29 (lub nowszy).

Kliknij OK, aby rozpocząć instalację.

batsheva
źródło