2010-01-12 7 views
6

Ich möchte eine App auf den Markt bringen. Es verwendet nichts Neues aus der 2.0-Version wie Bluetooth zum Beispiel und es funktioniert gut in jedem Emulator mit Version 1.6 bis 2.1.welche android sdk version auf den markt zu bringen?

Meine Frage ist auf Version des SDK sollte ich meine Anwendung verteilen, damit es kompatibel mit allen Geräten mit 1.6, 2.0 oder 2.1?

Ich habe nur ein physisches Gerät 1.6 läuft es zu testen, aber wie gesagt, nutzt es nichts Besonderes und funktioniert gut auf Emulatoren API-Ebenen 4, 5, 6 oder 7

Dank

Antwort

8

Die Antworten hier sind gut, aber hier sind einige weitere Vorschläge:

  • setzen Sie android:maxSdkVersion nicht, es sei denn, Sie sind absolut sicher, dass Sie es brauchen.
  • Set android:minSdkVersion bis 3 so Cupcake-Geräte können es laufen.
  • set android:targetSdkVersion zu 4, um anzuzeigen, dass die App auf Donut getestet wurde.
  • Ihre App sollte dann auf allen> = Cupcake Geräten gut funktionieren. Wenn Sie planen, High-Density-Ressourcen für High-Density-Bildschirme (Droid, Nexus One) bereitzustellen, gibt es ein wenig mehr Arbeit, die Sie tun müssen. Es wäre besser, einen anderen Thread dafür zu starten, aber kurz gesagt, du würdest die High-Density-Ressourcen in einen Ordner namens drawable-hdpi-v4 legen.

    Achten Sie darauf, die uses-sdk Doc.

    2

    mit Wenn Ihre App nichts Besonderes macht, nichts verwendet, was zwischen diesen Versionen veraltet/geändert/hinzugefügt wurde und auf den entsprechenden Emulatoren funktioniert, dann sollte alles in Ordnung sein.

    Beschränken Sie es einfach auf 2,1 als Obergrenze mit dem android:maxSdkVersion="7" — Sie können immer aktualisieren, wenn das nächste SDK herauskommt.

    +5

    Bitte beachten Sie die Verwendung von Android: MaxSdkVersion sorgfältig, Sie sollten es wahrscheinlich nicht verwenden. Wenn Sie darauf eingestellt sind, stellen Sie sicher, dass Sie die Warnung im Dokument gelesen haben: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#max – James

    +2

    Wirklich, nur don benutze es nicht. Es war eine schlechte Idee. Unterstützung dafür wird entfernt, so dass es ignoriert wird. – hackbod

    +0

    Ah, fair genug. Obwohl die Dokumentation sagt, dass "neue Versionen der Plattform von Grund auf abwärtskompatibel sind", lohnt es sich, einen Hinweis zu veralteten APIs hinzuzufügen. Zum Beispiel, nach wie vielen Releases werden veraltete Klassen aus dem Framework entfernt? Gibt es eine Politik? –

    1

    Ich glaube, dass alles, was in früheren Versionen des SDK geschrieben wurde, vollständig mit der neuesten Version kompatibel ist.

    Ich bin sicher, dass ich dies in der SDK-Dokumentation gelesen habe, als ich meine IDE eingerichtet habe.

    Wenn ich richtig bin, dann gibt es wirklich keine Notwendigkeit, Ihre Anwendung zu aktualisieren, um die hinzugefügten Funktionen zu nutzen, obwohl die Option immer da sein wird, wenn Sie sich dafür entscheiden, darüber zu erweitern.

    1

    Meiner Meinung nach ist es die beste Vorgehensweise, mit dem Android 1.6 SDK zu kompilieren und die minSdkVersion im Manifest auf 3 zu setzen.

    Ich sage dies basierend auf der Empfehlung von Dianne Hackborn (der Benutzer namens hackbod, die die akzeptierte Antwort kommentierte) in this thread, sie ist ein Google-Mitarbeiter, der auf der Android-Quelle selbst arbeitet.

    Grundsätzlich gibt es ziemlich viele Android 1.5 SDK-Geräte da draußen, so Kompilierung mit dem Android 1.5 SDK würde Unterstützung für mehr Geräte mit dem 1.5 SDK, 1.6 SDK, 2.0 SDK oder 2 bieten.1 SDK, aber es gibt Geräte, die das 1.6 SDK wie das HTC Tattoo benötigen, so dass du deine App mit dem 1.6 SDK kompilierst, aber wenn du minSdkVersion auf 3 setzt, können die meisten Geräte deine App nutzen.

    Wenn Sie tun, wie die angenommene Antwort sagt und mit dem neuesten 2.1 SDK kompilieren, dann verpassen Sie eine große Anzahl von Benutzern. Anwendungen, die mit dem 2.1 SDK kompiliert wurden, können nur von Geräten verwendet werden, die über das 2.1 SDK oder höher verfügen. Daher beschränken Sie Ihre Nutzer im Allgemeinen auf Nutzer, die derzeit ein Google Nexus One besitzen.

    +0

    Zur Zeit der Frage klang es vernünftig, maxSdkVersion zu setzen, aber nach all den Warnungen schien es ja besser, nur min und target zu verwenden, während noch auf 1.6 kompiliert wurde. – attwad