Android 4.0 ICS och bakåtkopabilitet?

Diskussion i 'Frågor, support och diskussion' startad av mikma, 8 apr 2012.

  1. mikma

    mikma Adult Droid Medlem

    Blev medlem:
    5 dec 2010
    Inlägg:
    729
    Mottagna gillanden:
    81
    Telefon:
    Sony XZ2 Compact

    MINA ENHETER

    Telefon:
    Sony XZ2 Compact
    Jag har en Samsung Galaxy Nexus med 4.0.2 och har märkt att den inte är helt bakåtkompatibel. Dvs vissa appar som fungerade bra i min tidigare mobil med Android 2.2 visas felaktigt i 4.0.

    Detta gäller speciellt appar med Android:minSdkLevel satt till 3 (eller mindre) och med lika lågt satt eller utan targetSdkVersion.

    Min fråga är egentligen om det är en bugg i Android 4.0, eller är det ett medvetet val de gjort att inte stödja gamla appar.
     
  2. mardox

    mardox Kid Droid Medlem

    Blev medlem:
    31 jan 2010
    Inlägg:
    73
    Mottagna gillanden:
    6

    MINA ENHETER

    Om både minSdk och targetSdk är satta under honeycomb så borde allt fungera som förut tror jag. Deck kan det tänkas att dessa appar som buggar kanske använder privata APIer och detta betyder att det inte finns någon garanti till bakåtkompatibilitet
     
  3. mikma

    mikma Adult Droid Medlem

    Blev medlem:
    5 dec 2010
    Inlägg:
    729
    Mottagna gillanden:
    81
    Telefon:
    Sony XZ2 Compact

    MINA ENHETER

    Telefon:
    Sony XZ2 Compact
    För att ge ett exempel så är minSdkVersion satt till 3 i IPv6Config, vilket gör att hela appen blir oläslig och oanvändbar på SGN.

    Original:
    [uses-sdk android:minSdkVersion="3" /]

    Genom att bygga om den med targetSdkVersion satt till 4 så fungerar den på SGN. (Originalkällkoden finns på gitorious.org.)

    Ändring:
    [uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" /]
     
    Last edited: 8 apr 2012
  4. MrBacardi

    MrBacardi Kid Droid Medlem

    Blev medlem:
    5 aug 2011
    Inlägg:
    33
    Mottagna gillanden:
    2

    MINA ENHETER

    litt vanskelig å kommentere hva du mener er feil uten å se noen skjermbilder.

    Men uansett lurer jeg på hvorfor du ikke setter targetsdk til nyeste? Er vel ca. 14 nå på 4.0.3.

    Jeg gjør det på alle mine apps uten problem, og de kjører stort sett på alt fra android 1.6 og nyere.
     
  5. mikma

    mikma Adult Droid Medlem

    Blev medlem:
    5 dec 2010
    Inlägg:
    729
    Mottagna gillanden:
    81
    Telefon:
    Sony XZ2 Compact

    MINA ENHETER

    Telefon:
    Sony XZ2 Compact
    Lyckades ta en bild med Screen Cut efter att ha provat flera andra appar. Spare Parts ser ut så här på SGN 4.0.2:

    [​IMG]
     
  6. Sebastiank

    Sebastiank Adult Droid Medlem

    Blev medlem:
    3 jan 2011
    Inlägg:
    895
    Mottagna gillanden:
    87

    MINA ENHETER

    Du vet att du kan ta printscreen på en galaxy nexus genom att hålla in volym ner och powerknappen samtidigt?
     
    mikma gillar detta.
  7. Zooklubba

    Zooklubba Android Medlem

    Blev medlem:
    10 jul 2010
    Inlägg:
    6 448
    Mottagna gillanden:
    2 199

    MINA ENHETER

    Varför kör du inte så hög target som möjligt? Det är det som rekommenderas.

    Notera att det är target och inte minimum. Kanske inte förstod frågan helt.
     
  8. mikma

    mikma Adult Droid Medlem

    Blev medlem:
    5 dec 2010
    Inlägg:
    729
    Mottagna gillanden:
    81
    Telefon:
    Sony XZ2 Compact

    MINA ENHETER

    Telefon:
    Sony XZ2 Compact
    Frågan gäller egentligen inte i första hand egna appar, utan andras, men lade inlägget i den här avdelningen pga den avancerade karaktären.

    Det jag funderar på är om felet ligger i apparna eller i Android ICS.
     
  9. mikma

    mikma Adult Droid Medlem

    Blev medlem:
    5 dec 2010
    Inlägg:
    729
    Mottagna gillanden:
    81
    Telefon:
    Sony XZ2 Compact

    MINA ENHETER

    Telefon:
    Sony XZ2 Compact
    Jag uppdaterade precis till Android 4.0.4 och det löste problemet med Spare Parts.
     
  10. Zooklubba

    Zooklubba Android Medlem

    Blev medlem:
    10 jul 2010
    Inlägg:
    6 448
    Mottagna gillanden:
    2 199

    MINA ENHETER

    Då förstår jag. Det tror jag mer ligger på brist på kunskapen hos utvecklarna som har gjort apparna. De tillhandahåller paket för att bakåtkompabiliteten ska fungera men då behöver man använda högsta targetsdkn. Det är troligtvis ett av de smidigaste sätten för Google att försäkra sig om att saker ska fungera över alla versioner.
     
  11. nadam

    nadam Youth Droid Medlem

    Blev medlem:
    10 feb 2010
    Inlägg:
    182
    Mottagna gillanden:
    31
    Operatör:
    Hallon
    Telefon:
    Sony Xperia XZ1 Compact

    MINA ENHETER

    Operatör:
    Hallon
    Telefon:
    Sony Xperia XZ1 Compact
    Nja, riktigt så illa är det inte. Bakåtkompatibilitet betyder att gamla appar ska fungera utan förändring. Som utvecklare ska man alltså inte behöva ändra targetSdk så fort det kommer en ny version. TargetSdk ska spegla den högsta version som man använder när man testar sin app, eftersom det i vissa fall påverkar utseendet på appen (t ex höjden på statusbaren som ändrades i Honeycomb).

    Anledningen till detta är att Android ska kunna få nytt utseende utan att förstöra utseendet i gamla appar.

    Att det blev fel med Spare Parts beror alltså troligtvis på en bugg i 4.0.2 som rättades i 4.0.4. Om Spare Parts fortfarande vore under utveckling så skulle den säkert få en högre targetSdk av utvecklaren och därmed se bättre ut på nya telefoner, men den har inte uppdaterats sedan februari 2010.