Android Backwards Compatibility?

membersound

Bekanntes Mitglied
Hi,

ich habe ein kleines fertiges Testapp für Android 4.
Wie kann ich selbes jetzt auf zb 2.1 testen?

Im code selbst könnte ich zB je nach Build.VERSION.SDK_INT verschiedene Methoden aufrufen.
Wenn ich dann aber in den Projekt properties die Android Version auf 2.1 ändere, dann kann ich ja bereits nicht mehr compilieren, da es dort einige imports noch nicht gibt. Auch wenn ich sie im Code selbst ja für diese Version gar nicht nutzen würde.

Wie kann ich also aktuelle Apps auf SDK 7 testen?

Danke
 
Zuletzt bearbeitet von einem Moderator:
T

Tomate_Salat

Gast
Ich entwickle immer gegen das aktuelle SDK (Android 4) und verwende dann die support-packages von Google. Diese gewähren eine sehr gute Abwärtskompatibilität. In meiner Manifest-Datei habe ich dann noch folgenden Eintrag:

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

Afaik ist das wichtig für den Play-Market. In meinem Fall steht die App ab Sdk-Version 8 (2.2) zur verfügung.

Testen kannst du die App z.B mithilfe des Emulators.

Wie man das bei Unit-Tests einstellt - ka - habe ich bisher noch nicht für Android verwendet (sollte ich aber vllt mal :D).
 
T

Tomate_Salat

Gast
Wie man das bei Unit-Tests einstellt - ka - habe ich bisher noch nicht für Android verwendet (sollte ich aber vllt mal ).

Ziemlich ähnlich: Du erstellt ein Testprojekt und dort passt du den Eintrag bzgl. minSdkVersion an wie in meinem obigen Post dargestellt ist. Der TestCase benötigt einen Emulator, auf dem er ausgeführt wird. D.h. du erstellst im AVD dein Device und testest es dagegen.

Beim testen meiner Apps (unit-test oder debuggen auf echtgerät/Emulator) stelle ich mir die run-config immer so ein, dass ich das ziel auswählen kann:

[debug/run] -> run configuration -> target:
unter Deployment Target Selection Mode auf [c]Manual[/c] stellen.
 

membersound

Bekanntes Mitglied
Und wie emuliere ich mir ein SDK 8 device und deploy eine App die mit SDK 15 entwickelt wurde?
Das Problem ist ja, dass Eclipse die apk Datei automatisch in einem Emulator installiert, der der Projekt-Android Version entspricht. Dh wenn ich mit 15 entwickel, muss mein Emulator auch 15 haben.

Wie kann ich aber das selbe App auf einem Emulator mit 8 deployen?
 
T

Tomate_Salat

Gast
Eine Apk, die mit Api-level 15 erstellt worden ist, kann durchaus auf einem api-level-8-device laufen. Wichtig ist das minSdk in der AndroidManifest (siehe ersten post).

Du brauchst also nicht für jedes Api-Level eine eigene Apk.

Wenn du deine run-config auf manuel einstellst und mehrere Emulatoren (am besten mit unterschiedlichen api-level) offen hast, kannst du auswählen, wohin die app deployed werden soll. Solange der Emulator zur minSdkVersion passt, sollten da keine Probleme beim deployen auftauchen.
 

membersound

Bekanntes Mitglied
Also ich habe minSDK jetzt auf 4 gestellt, und eine SDK 7 gestartet. Diese wird mir in der Run configuration aber gar nicht als Target angezeigt! Ich bekomme da jediglich meine 15er...
 
T

Tomate_Salat

Gast
Kopier bitte mal die Android Manifest hierrein. Dann kann ich das mal selber ausprobieren
 

Neue Themen


Oben