Wie ändere ich die Zielerstellung auf einem Android-Projekt?

82

Ich habe derzeit ein Android-Projekt in Eclipse.

Ich habe es mit einem Ziel-Build von 1,5 (SDK 3) erstellt.

Jetzt möchte ich es so ändern, dass es ein minSdk von 3 und ein targetSdk von 8 hat.

Um dies zu tun, sehe ich, dass ich gegen das neueste SDK (2.2) bauen muss.

Um dies in Eclipse zu tun, klicke ich mit der rechten Maustaste auf mein Projekt, gehe zu Eigenschaften, klicke auf Android und ändere das Projekterstellungsziel auf Android 2.2 und klicke auf Übernehmen und dann auf OK.

Dies scheint jedoch keine Auswirkungen zu haben, und wenn ich es erneut versuche, wird der Ziel-Build auf Android 1.5 zurückgesetzt.

Vermisse ich einen Schritt oder so?

Donal Rafferty
quelle

Antworten:

95

Klicken Sie mit der rechten Maustaste auf das Projekt und klicken Sie auf "Eigenschaften". Wählen Sie dann "Android" aus dem Baum auf der linken Seite. Sie können dann rechts die Zielversion auswählen.

(Beachten Sie gemäß dem unten stehenden Kommentar, dass Ihre Eigenschaften, Klassenpfade und Projektdateien beschreibbar sind, da sie sonst nicht funktionieren.)

Ryan Conrad
quelle
20
Es stellte sich heraus, dass meine Eigenschaften, Klassenpfade und Projektdateien als nicht beschreibbar festgelegt wurden, weshalb es nicht funktionierte. Funktioniert jetzt, danke
Donal Rafferty
3
Ich habe das gleiche Problem getroffen. Die Quellcodeverwaltung führte dazu, dass die Dateien nicht beschreibbar waren, und verhinderte den Wechsel. Sie erhalten keine Warnung oder Anzeige, dass ein Problem vorliegt. Es wird einfach nicht umgeschaltet. Wenn andere darauf stoßen, stellen Sie sicher, dass Sie "zum Bearbeiten auschecken" oder was auch immer die richtige Aktion in Ihrer Versionsverwaltungsbibliothek ist.
Michael Stoner
Gibt es eine Möglichkeit, die Option DEFAULT festzulegen? Bei mehreren APKs ist es ärgerlich, dies jedes Mal
einstellen zu müssen
@DonalRafferty Wie überprüfe ich, ob sie beschreibbar sind oder nicht? und wie macht man sie beschreibbar?
Muhammad Babar
@ Muhammad Babar Ich habe Visual Source Safe verwendet, wodurch die Dateien automatisch schreibgeschützt wurden. Ich habe gerade das Kontrollkästchen Schreibgeschützt für die Dateien deaktiviert. Ich habe zu diesem Zeitpunkt einen Windows-Computer verwendet.
Donal Rafferty
24
  1. Sie können das Build-Ziel für Ihr Projekt jederzeit ändern:

    Klicken Sie im Paket-Explorer mit der rechten Maustaste auf das Projekt, wählen Sie Eigenschaften, wählen Sie Android aus und überprüfen Sie das gewünschte Projektziel.

  2. Bearbeiten Sie die folgenden Elemente in der Datei AndroidManifest.xml (sie befindet sich in Ihrem Projektstammverzeichnis).

    In diesem Fall ist das:

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

    Speichern Sie es

  3. Erstellen Sie Ihr Projekt neu.

    Klicken Sie in der Menüleiste auf das Projekt und wählen Sie Reinigen ...

  4. Führen Sie nun das Projekt erneut aus.

    Klicken Sie mit der rechten Maustaste auf Projektname, fahren Sie mit Ausführen als fort und wählen Sie Android-Anwendung aus

Übrigens ist es hilfreich , Projekte aus Eclipse mit ADT zu verwalten. Besonders der Teil namens Erstellen eines Android-Projekts.

Alan Will
quelle
5
Tipp: Nachdem Sie alle diese Schritte ausgeführt haben, starten Sie Ihre Eclipse neu. Dies kann Wunder bewirken.
Cimnine
Einverstanden! Ich konnte das nicht zum Laufen bringen, bis Eclipse neu gestartet wurde.
Pedro
In Android Studio musste ich diese Zeilen zusammenführen. Ich bin mir nicht sicher, ob dies spezifisch für Android Studio ist oder ob das Manifestformat die Änderung seit dem Posten erforderlich gemacht hat. zB: <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />
Eric Farraro
11

Eine andere Möglichkeit in der Befehlszeile, wenn Sie ant verwenden, ist die Verwendung des android.bat-Skripts (Windows) oder des android-Skripts (Mac). Es ist in $ SDK_DIR / tools.

Wenn du sagst,

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

Es wird Ihre build.xml, AndroidManifest.xml usw. neu generieren.

Scott C Wilson
quelle
6

Es gibt drei Möglichkeiten, um dieses Problem zu beheben.

  1. Klicken Sie mit der rechten Maustaste auf das Projekt und klicken Sie auf "Eigenschaften". Wählen Sie dann links "Android". Sie können dann die Zielversion auf der rechten Seite auswählen.

  2. Klicken Sie mit der rechten Maustaste auf Projekt und wählen Sie "Ausführen als". Daraufhin wird eine Dropdown-Liste geöffnet.
    Wählen Sie "Konfiguration ausführen" aus der Dropdown-Liste. Wenn ein Formular geöffnet wird, wählen Sie die Registerkarte "Ziel" unter "Formular" und wählen Sie auch die Android-Versions-API aus, auf der Sie Ihre Anwendung ausführen möchten. Dies ist der schnellste Weg, um Ihre zu überprüfen Anwendung auf verschiedenen Zielversionen.

  3. Bearbeiten Sie die folgenden Elemente in der Datei AndroidManifest.xml

xml:

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

Nun, ich stimme Ryan Conrad zu, wie es in Eclipse geht. Haben Sie sichergestellt, dass Sie Ihre manifest.xml geändert haben?

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

Das Problem tritt manchmal auf, wenn das Projekt fehlerhaft ist.

Wenn Ihr Projekt beispielsweise mit einem Ziel von 3.2 konfiguriert ist, die 3.2-Bibliotheken jedoch nicht verfügbar sind, können Sie die Version nicht auf 4.0 ändern!

Die übliche (vielleicht brutale) Lösung, die ich verwende, besteht darin, ein neues Projekt mit dem richtigen Ziel zu erstellen und src, res zu kopieren und in das neue Projekt zu manifestieren.

Aktualisieren:

Das scheint zu funktionieren:

  1. Ändern Sie die über die Build-Eigenschaften ausgewählten Eigenschaften wie gewohnt
  2. Bearbeiten Sie project.properties UND default.properties manuell, um sicherzustellen, dass beide das gewünschte Ziel widerspiegeln.
  3. Schließen Sie das Projekt und öffnen Sie es erneut

Ich führe immer Android Tools | aus Korrigieren Sie die Projekteigenschaften, nachdem Sie Änderungen am Build-Ziel vorgenommen haben.

Mike Way
quelle
3

Die Datei default.propertiesist standardmäßig schreibgeschützt, was für mich funktioniert hat.

notBanana
quelle
2

Sie sollten nicht mehrere "using-sdk" -Tags in Ihrer Datei haben. ref - docs

Use this syntax:
    <uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />
javaProgrammer
quelle
1

Ich hatte auch dieses Problem. Für mich hat es funktioniert, zuerst die zuvor ausgewählte SDK-Version zu deaktivieren, bevor die neue gewünschte Version überprüft wird. Klicken Sie dann auf OK.

Adukra
quelle
1

Wie Mike übrigens sagt. Ändern Sie das Ziel, BEVOR Sie etwas in Ihrem Projekt tun, das ein höheres Ziel wie Android erfordert: installLocation = "auto".

user1164035
quelle
0

Klicken Sie mit der rechten Maustaste auf Projekt-> Eigenschaften-> Android-> Zielnamen auswählen - Ziel festlegen-- Klicken Sie auf OK

Shubhamhackz
quelle