build target

  • Antworten:4
Gelöschter Account
  • Forum-Beiträge: 51

20.07.2010, 23:53:14 via Website

Bin noch neu bei der Android entwicklung und etwas verwirrt.
Ich muss ja bei einem neuen Projekt ein buildtarget angeben und man kann zusätzlich noch ein minSdk spezifizieren.

So wenn ich jetzt als Buildtarget beispielsweise 2.1 angebe würds ja keinen sinn machen minsdk niedriger als 7 zu setzen weil die app ja unter 2.1 eh nicht laufen würde, seh ich das richtig?

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

21.07.2010, 07:53:36 via Website

Alex
Bin noch neu bei der Android entwicklung und etwas verwirrt.
Ich muss ja bei einem neuen Projekt ein buildtarget angeben und man kann zusätzlich noch ein minSdk spezifizieren.

So wenn ich jetzt als Buildtarget beispielsweise 2.1 angebe würds ja keinen sinn machen minsdk niedriger als 7 zu setzen weil die app ja unter 2.1 eh nicht laufen würde, seh ich das richtig?

ist nicht ganz richtig,

buildtarget 7 heißt dass mit dem sdk von 2.1 compiliert wird. wenn du aber keine besonderheiten des 7er sdks verwendest, würde die app auch mit 1.5 laufen. im market wird die app angezeigt, sobald minsdk mit der smartphone version übereinstimmt.

du musst also wissen welche apis du nutzt. vorteil vom compilieren mit 7 ist natürlich, dass einige bugs ausgebessert wurden.

swordiApps Blog - Website

Antworten
Tobias E.
  • Forum-Beiträge: 180

21.07.2010, 10:14:15 via Website

Alex
So wenn ich jetzt als Buildtarget beispielsweise 2.1 angebe würds ja keinen sinn machen minsdk niedriger als 7 zu setzen weil die app ja unter 2.1 eh nicht laufen würde, seh ich das richtig?

Ich mach das eigentlich bei allen meiner Apps so: Build Target auf 8, und minSDK auf 3. Dabei musst Du aufpassen dass Du keine Funktionen verwendest die es erst ab sdk 4 und höher gibt. Was Du damit erreichst ist daß Deine App zwar auf Android 1.5 läuft, Du aber trotzdem die neueren Tags wie App2SD oder "supports-screens" im Manifest verwenden kannst.

Diese Tags werden dann von den niedrigeren Android Versionen ignoriert, machen aber genau was sie sollen auf den höheren Versionen. Z.B. App2SD gibt's erst ab FroYo. Wenn Du das entsprechende Tag ins Manifest schreibst und Build Target kleiner als 8 angibst compiliert Deine App nicht. Mit Build Target 8 compiliert es wunderbar, FroYo User können Deine App auf die SD Karte schieben, und User mit vor FroYo Versionen können Deine App Dank minSDK=3 auch verwenden.

Antworten
Gelöschter Account
  • Forum-Beiträge: 51

21.07.2010, 12:21:03 via Website

Ah ok, verstehe. Heißt also ich muss wissen welche Funktionen neu in den jeweiligen sdk's sind oder kann ich das auch ausprobieren in eclipse mit avd's in verschiedenen versionen?

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

21.07.2010, 13:01:26 via Website

Das solltest du auch jeden fall immer im Auge behalten. Am einfachsten wird es aber sein einfach nur für Android 1.5/1.6 zu entwickeln und gegen ende der Entwicklung das Target entsprechend zu setzen. Für Features wie App2SD musst du auch das entsprechende API verwenden, daher ist an diesen Stellen der Einsatz von Reflection zu verwenden damit du den Code auch unter 1.5 kompilieren kannst. Solange das nur für dieses eine Feature ist, ist das wohl zu vertreten.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten