Projekt von 2.1 auf 2.2 ändern

  • Antworten:9
Alex heinz
  • Forum-Beiträge: 20

14.10.2011, 08:35:34 via Website

Hallo,
Ich habe ein Projekt (in Eclipse) , das jetzt noch für 2.1 ausgelegt ist, jetzt möchte ich das auf 2.2 ändern, wie geht man da am besten vor?
Ich will ja nicht ein neues Projekt anlegen und dann die Sourcecodes kopieren :-)

Gruss Alex

Antworten
Philip M.
  • Forum-Beiträge: 90

14.10.2011, 08:53:12 via Website

Wenn ich deine Frage richtig verstanden habe, musst du als Lösung einfach nur in der Android Manifest den Wert "android:minSdkVersion" erhöhen.
API-Level für Version 2.2 ist meines wissens nach 8, also müsste es dann lauten <uses-sdk android:minSdkVersion="8" />.

Ich würde das aber nur mit guten Gründen ändern, da man ja sonst potenzielle Kunden verliert. Am besten immer so niedrig wie möglich halten. (-:

//Edit: Oh, da war wer schneller :D

— geändert am 14.10.2011, 08:53:33

Antworten
Alex heinz
  • Forum-Beiträge: 20

14.10.2011, 09:00:28 via Website

Hallo,
Ich dachte, man muss noch irgendwelche SDK-Libs dazu packen oder referenzieren. aber wenn es nur die Manifestdatei ist.
Der Grund ist eigentlich, das man meinen App auf die SD-Card verschieben können soll und das ja erst ab Apps für 2.2 gehen soll.

Gruss

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

14.10.2011, 09:26:25 via Website

in den projekteinstellungen solltest dann noch auf 2.2 ändern, damit auch dagegen compiliert wird. dann kannst auch alle 2.2 api features verwenden

swordiApps Blog - Website

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

14.10.2011, 09:26:47 via Website

Der Grund ist eigentlich, das man meinen App auf die SD-Card verschieben können soll und das ja erst ab Apps für 2.2 gehen soll.

Guckst du hier

Mit den min/std SDK Angaben hat das eher weniger zu tun, da wirst du nichts ändern müssen.

— geändert am 14.10.2011, 13:20:35

Antworten
Rafael K.
  • Forum-Beiträge: 2.359

14.10.2011, 09:33:12 via Website

Ich musste ja für die Einbindung des Madvertise SDK von 1.6 auf 2.1 erhöhen und dafür hat es ausgereicht den Wert in der Manifest zu ändern.
Wenn ich mich richtig erinnere ist diese Checkbox Liste in den Projekteinstellungen nur eine GUI für diesen Wert.
Der Android Precompiler passt beim Build dann die referenzierten Libraries automatisch an.

Philip M.

Antworten
Ben Becker
  • Forum-Beiträge: 209

14.10.2011, 11:44:17 via Website

Also Madvertise läuft bei mir auch mit 1.6

Aber mal eine Frage dazu, mit dem neuen Store kann man ja verschiedene Pakete einstellen. Könnte ich da für meine App dann jetzt ein Paket mit 1.6 machen und eins mit 2.2 und dann bekommen die unterschiedlichen Handys diese Pakete? So das ich verschiedene Funktionen mit einbauen kann.

Antworten
Tobias Eckert
  • Forum-Beiträge: 155

17.10.2011, 09:41:30 via Website

Was die Versionierung angeht gibt's ein paar Sachen zu unterscheiden.

Der min-sdk Wert im Manifest wird meines Wissens nach in erster Linie als Filter für den Android Market verwendet. Target-SDK steuert für einige Funktionen das Verhalten der App. Wenn Du z.B. target-sdk auf 11 setzt und nachher das OptionsMenu verwendest, wird bei Deiner App unter Honeycomb in der Action-Leiste nicht mehr das Menü-Symbol angezeigt, sondern es wird erwartet dass Du die neue ActionBar verwendest.

Wenn Du Funktionen verwenden möchtest die es erst ab einer neueren SDK Version gibt, musst Du die App gegen das entsprechende SDK compilieren. Das stellst Du unter "Project-Properties / Android" ein.

Wenn Du vom neuen SDK lediglich neu unterstützte XML Attribute für z.B. Dein Manifest-File verwendest, so bleibt Deine App i.d.R. backwards compatible. Wenn Du z.B. im Manifest das app-to-sd Attribut setzen möchtest, so musst Du die App gegen das 2.3 SDK compilieren, ansonsten sagt Dir Eclipse dass das XML Tag nicht erkannt wird. Du kannst die App dann aber denoch auf z.B. Android 1.5 laufen lassen. Das für Android 1.5 unbekannte XML Tag wird dort dann einfach ignoriert.

Nur wenn Du im Programmcode selbst Funktionen verwendest die es erst ab neueren Android SDK Releases gibt wird Deine App auf alten Android Versionen nicht mehr laufen.

Antworten