Så splittet er Android: 3.997 forskellige enheder

Styresystemet Android er populært hos hardwareproducenterne, men for udviklerne betyder det, at deres applikationer potentielt skal kunne køre på tusindvis af forskellige enheder.

Der findes tusindvis af forskellige Android-enheder, og det er ingen overdrivelse ifølge en opgørelse lavet af OpenSignalMaps.

OpenSignalMaps har undersøgt, hvilke enheder 681.000 brugere af OpenSignalMaps' applikationer benytter, og det er løbet op i 3.997 forskellige enheder.

En vis del optræder dog som forskellige, fordi brugerne har installeret en specialtilpasset firmware på enheden, men det udgør kun 1.363 af enhederne.

Derimod er der hundredvis af enheder, som er fremstillet til lokale markeder som eksempelvis Concorde Tab til det ungarske marked eller Lemon P1 til det indiske marked, skriver OpenSignalMaps.

Ifølge undersøgelsen dominerer Samsung med 40 procent af markedet, mens der er en stor mængde varemærker, som kun repræsenterer en enkelt model.

Det store antal forskellige enheder kan især give udviklere en udfordring med hensyn til skærmopløsning, hvor der findes langt større variation blandt Android-enheder end eksempelvis blandt Apples iOS-enheder.

Kommentarer (20)

Lars Bjerregaard

Der er hundreder, hvis ikke tusinder af enheder at vælge imellem, så enhver kan få sit ønske opfyldt, mht. pris, features og fabrikant/leverandør.

Man koder sin app, så den helt automatisk understøtter alle mulige skærmopløsninger, portrait/landscape, samt smartphones, tablets, fjernsyn, etc.

Man koder sin app til Android systemet, i stedet for at behøve at kode den til en bestemt hardware enhed.

Wow! Sikke et fleksibelt system.
Artiklen ser et problem (og propagerer FUD), jeg ser store muligheder.

Peter Makholm

Gad vide hvor mange hardwarekonfigurationer Microsoft Windows kørte på i år 2000? Det er selvfølgelig kun tåber der valgte at udvikle til Windows frem for System 9 det brugte en meget mere forudsigelig hardwareplatform.

Palle Simonsen

Enig. Dette er ikke et praktisk problem. Men man kan selvfølgelig lave sin app, så den bedst eller kun virker på en bestemt opløsning, hvis man absolut vil. Men så er der sikkert også andre grunde, til ikke at anvende den pågældende app ;)

Michael Lykke

Man koder sin app, så den helt automatisk understøtter alle mulige skærmopløsninger, portrait/landscape, samt smartphones, tablets, fjernsyn, etc.

Man koder sin app til Android systemet, i stedet for at behøve at kode den til en bestemt hardware enhed.

Ja, det lyder alt sammen rigtig fint indtil man prøver at lave en app der er mere end bare en standard liste og et par knapper, så finder man hurtigt ud af at intet kommer "automatisk" men at det faktisk kræver RIGTIG mange timers arbejde at få til at virke bare nogenlunde på de fleste enheder.

Al den snak om at Android bare gør det hele automatisk er noget misforstået sludder som er LANGT væk fra virkeligheden.

Dermed ikke sagt at man skal udvikle specifikt til 4000 forskellige enheder, men det er langt mere end bare lidt automatisk hokus pokus.

Jonas Maturana Larsen

Jeg skulle lige til at skrive et indlæg om hvordan fragmentering reelt er et problem, men da jeg begyndte at kigge nærmere på graferne i artiklen løb jeg lidt i problemer.

Afsnittet om API levels er helt galt.
I 2011 var 2.3 den mest udbredte version. I 2012 er der 0%.
I 2011 bruger 0% 2.1, men i 2012 brugte 6.6% den version.

Jeg gad godt vide om de har tilføjet deres app til alternative markeder i løbet af det sidste år eller på andre måder udvidet deres distribution.

Burde denne titlen på denne artikel ikke omtale "konfigurationer" i stedet for "enheder"?

Jonas Maturana Larsen

Jeg er stor fan af de mange muligheder Android giver, men når folk siger at man bare skal kode op imod Android og spiller det passer altså ikke.

At få layout og grafik til at se super fedt ud på alle opløsninger tager tid og mange forsøg med enten en emulator eller en bunke devices.

Jeg synes personligt at det størte problem fragmenteringen er alle de ældre versioner af Android der stadig er i brug. Det problem skyldes ikke naturen i Android, men håndteringen af opdateringer.

Random bug-fact: BigInteger.modPow er ikke trådsikker før Android 2.3 - det er stadig mere end 25% af Android devices. Det er sgu da fragmentering.

Jakob Damkjær

Eller siger deres 70 milioner downloads noget andet...

"Animoca, a Hong Kong mobile app developer that has seen more than 70 million downloads, says it does quality assurance testing with about 400 Android devices. Again, that’s testing with four hundred different phones and tablets for every app they ship!"

http://techcrunch.com/2012/05/11/this-is-what-developing-for-android-loo...

Sammenligningen med Pocket Gems iOS test væg en udvikler der have 2 af de 10 bedst
indtjenene spil på iOS sidste år er desuden ret nice.

Fragmentering er ikke en showstopper, men det er en udgift som android udvilklings
projekter bør regne kommer med et par udgiftspunkter i budgetet mere ifht iOS
projekter. På samme måde som det må koste lidt mere hvis man faktisk har en
kunde service funktion...

Lars Bjerregaard
Lars Bjerregaard
Lars Bjerregaard

"Animoca, a Hong Kong mobile app developer that has seen more than 70 million downloads, says it does quality assurance testing with about 400 Android devices. Again, that’s testing with four hundred different phones and tablets for every app they ship!"


Fin lille stykke reklame, som også er meningsløs. Det er netop ikke nødvendigt at have alle de stykker hardware, for at udvikle og teste. Når det er sagt, hvis man skal udvikle professionelt, til et stort massemarked, så er det en god ide, at have en lille, mellem og stor enhed (mht. specs, lager, osv.), at teste på. Men man kan godt klare sig uden.

Marcin Brodzikowski

Yes.. Man kan godt lave en App til alle enheder, men den kommer til at se lige dårligt ud og køre dårligt alle steder. Vil gerne se en af jer lave en HD App, der kan skalere Ned og op, samtidigt med at den køre på en mips targa Intel what ever cpu. Prøv tag en mips tablet og gå i App store, og kig på udvalg ;)

Lars Bjerregaard
Marcin Brodzikowski

ja okey.. Så må det være googles egen folk der kun kan finde ud af det, fordi der findes ikke en skid til mips enheder. ja Ikke engang googles egen Chrome browser. Hvis det er så nemt, hvorfor ER det så, så fragmenteret ?!?
Hvofor vælger nogen at kun lave nogen til samsung og kun til HTC, hvis det er sååå nemt at få det til at virke alle steder ?!? Det giver bare ikke mening. Hvofor går de fleste store spil producenter ud og siger at de ikke vil udvikle til android ? I teorien er det nok muligt, men google har ikke formåedet det i virkeligheden.
Mening var at man skulle kunne tage hvilken som helst device og hente den app ned der passede til os versionen.. Det er vist ikke helt sådan det hænger sammen.

thomas dichow

Det samme her. Jeg syntes der er for meget piveri over fragmenteringen på android. Sagen er at platformen er kanon flexibel og godt lavet og koder man sine apps korrekt, køre de godt på langt, langt de fleste android telefoner, med både store og små skærme. Ja... det kræver måske lidt mere gennemtænkt design og styr på android sdk'et men så er det heller ikke værre. Med stor flexibilitet kommer selvfølgelig også udfordringer. Desuden kan man bare stille krav til telefon Fabrikat og android version i XML manifest filen , hvis ikke man gør apps tilgængelig for low end android mobiler, holder folk vel op med at købe dem. Desuden går det jo meget godt for Microsoft Windows som er mindst ligeså fragmenteret....der er folk bare klar over at visse programmer kræver visse hardware konfigurationer. Det er helt naturligt. Du kan ikke køre crysis på en netbook til 2000,- ...det ved folk godt når de køber den. På samme måde er det med android. Skal du bare have en telefon som du kan surfe nettet lidt med, er en billig model fin. Vil du kunne køre alt i top kvalitet, Ja så må man købe en top model. Det gode er at man har valget og at folk så ikke ønsker at bruge flere tusinder af kroner på en telefon også kan få nogle af de glæder der er ved en smartphone....potentielle kunder som ellers ville være uden for rækkevide. Se mulighederne i stedet for begrænsningerne.

Jonas Maturana Larsen

Hvis vi ser bort fra hardware eller software bugs, i en bestemt enhed, hvordan passer det så ikke?

Fordi det alt andet lige er nemmere at kode til få konfigurationer - præcist som I de "gamle" web-dage.
Det kan lade sige gøre, men det er da nemmere på iOS (Lad os nu ikke starte en religionskrig)

Det er det som "Android Support Package" - http://developer.android.com/sdk/compatibility-library.html - er til for. Kod din app, med nye API'er, og det kører på gamle versioner af Android.

Det er egenligt ikke så meget de nye API'er jeg brokker mig over, det er de bugs der var i API'et da det udkom. Og de kan af tekniske grunde ikke fikses med Android Support Package.

Jeg hacker på Calabash-Android som er et test-framework og har virkelig mærket hvor nas forskelle mellem versionerne gør.
Random eksempel er: XPath (og flere andre dele af javax.xml) findes først i Android 2.2 og andre dele er fyldt med fejl.

For de interessede kan Calabash-Android findes på GitHub: https://github.com/calabash/calabash-android/

Jesper Poulsen

Hvofor vælger nogen at kun lave nogen til samsung og kun til HTC

I de glade Amiga-dage var der mange dårlige programmører der lavede modelspecifikt software. Dem der brugte standard-API'erne stod med software der virkede på alle udgaver af Amiga.

Der er gået 25 år, men problemet er stadig det samme. Der er alt for mange dårlige programmører der klatter noget kode sammen så det kun virker på et enkelt device. Det er altså ikke platformens skyld.

Log ind eller opret en konto for at skrive kommentarer

JobfinderJob i it-branchen

TDC skifter koncernchef efter faldende mobilomsætning

Jesper Stein Sandal Mobil og tele 14. aug 2015

Nyeste job

KurserStyrk dine evner med et kursus

Supporting Windows 8.1 [20688]

Hvornår: 2015-10-22 Hvor: Østjylland Pris: kr. 19975.00

Salg i kundeservice (outbound)

Hvornår: Hvor: Efter aftale Pris: kr. Efter aftale

CERT 70-489 : Developing Microsoft SharePoint Server 2013 Advanced Solutions

Hvornår: 2015-11-27 Hvor: Storkøbenhavn Pris: kr. 4950.00

SQL Introduktion

Hvornår: 2015-09-14 Hvor: Østjylland Pris: kr. 7400.00

Designing Data Solutions with Microsoft SQL Server [20465]

Hvornår: 2015-09-10 Hvor: Østjylland Pris: kr. 19975.00