{"id":7586,"date":"2019-02-06T15:20:21","date_gmt":"2019-02-06T14:20:21","guid":{"rendered":"https:\/\/pi3g.com\/?p=7586"},"modified":"2019-02-06T15:20:21","modified_gmt":"2019-02-06T14:20:21","slug":"vorteile-von-android-vs-linux","status":"publish","type":"post","link":"https:\/\/pi3g.com\/de\/vorteile-von-android-vs-linux\/","title":{"rendered":"Vorteile von Android\u2122 vs. Linux"},"content":{"rendered":"<h1>Technische Grundlagen<\/h1>\n<p>Android\u2122 basiert auf dem Linux-Kernel, optimiert ihn aber besonders auf eingebetteten Systemen &amp; mobilen Plattformen.<\/p>\n<p>Android nutzt den Linux-Kernel mit einigen Anpassungen. Es unterscheidet sich jedoch grundlegend von \u00fcblichen Linux Distributionen, wie bspw. Debian \/ Raspbian \/ Alpine Linux.<\/p>\n<p>\u00dcblicherweise nutzen Distributionen die GNU C Bibliothek (glibc), und einen X-Server (bspw. Xorg) f\u00fcr grafische Anwendungen.<\/p>\n<p>Android enth\u00e4lt diese Komponenten nicht. Daher kann \"normale\" Linux-Software auf Android nicht ausgef\u00fchrt werden.<\/p>\n<p>Google basiert auf der <strong>bionisch<\/strong> C Bibliothek statt <strong>glibc <\/strong>- welche Vorteile hinsichtlich der Gr\u00f6\u00dfe und der Ausf\u00fchrungsgeschwindigkeit bietet.<\/p>\n<p>Android ist auf mobile Plattformen optimiert, und bringt seine eigene Virtual Machine mit (Dalvik), die es erlaubt in Java geschriebene Anwendungen auszuf\u00fchren.<\/p>\n<p>Diese Anwendungen sind gegen die Android API implementiert - Android schafft damit sein eigenes \u00d6kosystem.<\/p>\n<p>Android enth\u00e4lt keine Shell (Kommandozeileninterface, bspw. Bash) - es muss ggf. eine App installiert werden um eine Shell zu emulieren.<\/p>\n<p>Standardm\u00e4\u00dfig erlaubt Android dem Benutzer keine Root-Rechte. Es ist als ein Einzelplatzsystem konzipiert worden, im Gegensatz zu modernen Linux Distributionen die auf mehrere Nutzer ausgerichtet sind. (Ein Erbe von Unix, das auf gro\u00dfen Maschinen lief, die von mehreren Studierenden, Professoren, etc. geteilt wurden).<\/p>\n<p>Das Standard-Dateisystem von Android ist YAFFS - speziell f\u00fcr NAND Flash optimiert. Linux Distributionen setzen \u00fcblicherweise auf ext3 \/ ext4.<\/p>\n<p>Google Chrome OS basiert \u00fcbrigens auch auf einem Linux-Kernel, hat aber ebenso keinen X-Server.<\/p>\n<h1>Vorteile von Android<\/h1>\n<ul>\n<li>einheitliche UI (grafisches Benutzerinterface)<\/li>\n<ul>\n<li>UI ist f\u00fcr Touchscreens optimiert<\/li>\n<\/ul>\n<li>Umfangreiches \u00d6kosystem von Android-Apps (900.000+)<\/li>\n<\/ul>\n<p>Vor allem die Optimierung der UI und der Apps f\u00fcr Touchscreens ist ein wichtiger Punkt, beispielsweise f\u00fcr POS Ger\u00e4te. Android konnte durch diese neue Ausrichtung die Anwendungen von Anfang an mit den Sensoren, Eingabe- und Ausgabe-M\u00f6glichkeiten einer modernen mobilen Plattform versorgen, und eine umfangreiche API f\u00fcr die Entwickler bereitstellen.<\/p>\n<p>In manchen F\u00e4llen k\u00f6nnte die von Ihnen vorgesehene Anwendung (bspw. Mini-Digital Signage am Messestand) bereits durch eine Android App umsetzbar sein, ohne zus\u00e4tzliche Entwicklungskosten.<\/p>\n<ul>\n<li>Vertraute Nutzung<\/li>\n<\/ul>\n<p>Durch die weite Verbreitung im Consumer Bereich sind Android-basierende L\u00f6sungen f\u00fcr die Endnutzer einfach zu nutzen, und begegnen mehr Akzeptanz, als Custom-L\u00f6sungen. (Dasselbe Argument gilt nat\u00fcrlich auch f\u00fcr Windows-basierende Anwendungen, allerdings geh\u00f6rt Windows auch der \u00e4lteren Generation von Betriebssystemen an, die nicht mobile-first, touch-first waren).<\/p>\n<ul>\n<li>Gute Unterst\u00fctzung durch die Entwickler-Community<\/li>\n<\/ul>\n<p>Es stehen viele Bibliotheken und erfahrene Anwender bereit, um Ihre Anwendung umzusetzen. Durch den weit verbreiteten kommerziellen Einsatz von Android (auch z.B. im Rahmen von Bring Your Own Device) existieren spezialisierte Firmen, die f\u00fcr Sie Android-Anwendungen entwickeln und im Lebenszyklus der Anwendung supporten.<\/p>\n<ul>\n<li>Java<\/li>\n<\/ul>\n<p>Dalvik VM, die virtuelle Maschine von Android, f\u00fchrt Java Anwendungen aus die gegen die Android API entwickelt wurden. Diese Sprache wird auch von Banken eingesetzt, da sie vor allem auf Stabilit\u00e4t und Portabilit\u00e4t achtet.<\/p>\n<p>Java ist eine weit verbreitete Sprache, die viele Entwickler (u.a. empfehlen wir&nbsp; <a href=\"https:\/\/moebiusgames.com\/\" target=\"_blank\">Moebiusgames<\/a> als Software-Partner) beherrschen. Es gibt viele Standard-Komponenten \/ Software-Bibliotheken, die Entwicklern Arbeit ersparen.<\/p>\n<p>Die Sprache ist sehr gut dokumentiert, und verf\u00fcgt \u00fcber ein umfangreiches Toolset (bspw. IDEs - integrierte Entwicklungsumgebungen), die die Zeit reduzieren, die die Entwickler ben\u00f6tigen.<\/p>\n<p>Auf Linux kommt oft nach wie vor C \/ C++ zum Einsatz. W\u00e4hrend das einen gewissen Performancevorteil bieten kann, da die Anwendungen hardwaren\u00e4her laufen, m\u00fcssen sich die Entwickler um viele Dinger k\u00fcmmern, die ihnen bei Java abgenommen werden (Stichwort Pointer). Darunter kann ggf. die Softwarestabilit\u00e4t und -sicherheit leiden.<\/p>\n<p>Alternativ kann man auf Android auch gegen eine C API implementieren (C NDK).<\/p>\n<ul>\n<li>Kommunikationsstacks eingebaut<\/li>\n<\/ul>\n<p>Android verf\u00fcgt neben WLAN, Bluetooth auch \u00fcber einen Telefonie- und Mobilfunkstack. Das ist besonders interessant f\u00fcr Anwendungen, die im Au\u00dfendienst eingesetzt werden, ohne einen festen Netzwerk-\/WLAN-Anschluss.<\/p>\n<p>Nat\u00fcrlich kann man das alles auch mit Linux umsetzen, m\u00fcsste aber dazu Entwicklungsressourcen investieren, u.a. auch f\u00fcr die Weiterentwicklung des eigenen Stacks.<\/p>\n<ul>\n<li>optimiert f\u00fcr ARM-Plattformen <\/li>\n<\/ul>\n<p>Android's prim\u00e4res Ziel (von Google unterst\u00fctzt) sind ARM Plattformen - ARM ist besonders auf Stromverbrauch und embedded optimiert. \"Eine himmlische Kombination\".<\/p>\n<ul>\n<li>Upgrademechanismus eingebaut<\/li>\n<\/ul>\n<p>Android ist von vorhinein als netz-angebundenes System, mit der F\u00e4higkeit zu Upgrades vorgesehen. <\/p>\n<ul>\n<li>Zugriff auf Google-Dienste<\/li>\n<\/ul>\n<p>U.a. Spracherkennung (unter Umst\u00e4nden Zertifizierung des Ger\u00e4ts f\u00fcr Android erforderlich)<\/p>\n<ul>\n<li>Battiere optimierte Power-Verwaltung eingebaut<\/li>\n<\/ul>\n<p>Android ist damit vor allem f\u00fcr akkubetriebene Ger\u00e4te interessant.<\/p>\n<h1>Vorteile von Linux<\/h1>\n<ul>\n<li>Standard-Fu\u00dfabdruck (Speicherbedarf) ist deutlich kleiner<\/li>\n<\/ul>\n<p>Bspw. kann mit Alpine Linux eine sehr kleine Linux Distribution verwendet werden, um den Platzbedarf zu reduzieren.<\/p>\n<ul>\n<li>Geringere Anforderungen an die CPU, gr\u00f6\u00dfere CPU-Vielfalt<\/li>\n<\/ul>\n<p>Linux unterst\u00fctzt viele Plattformen, u.a. auch MIPS. Es kann auf sehr leistungsschwachen eingebetteten Plattformen betrieben werden.<\/p>\n<p><\/p>\n<h1>Fragen<\/h1>\n<h2>Kann ich Android kommerziell nutzen?<\/h2>\n<p>Ja - der Kern ist unter der Apache Lizenz, und kann kommerziell verwendet werden, ohne Lizenzkosten an Google zahlen zu m\u00fcssen. Die Google Anwendungen (Play Store, Maps, etc.) stehen unter Google Lizenz.<\/p>\n<p>Um diese Anwendungen zu bekommen, muss das Ger\u00e4t als Google-konform zertifiziert werden. <\/p>\n<h2>Muss Android immer auf einem Smartphone \/ Ger\u00e4t mit Telefoniefunktion zum Einsatz kommen?<\/h2>\n<p>Nein - Android basierende Anwendungen laufen auf medizinischen Ger\u00e4ten, fest installierten Telefonen, Waschmaschinen, Uhren, Auto-Dashboards, TVs und Set-Top-Boxen.<\/p>\n<h1>emteria.OS<\/h1>\n<p><a href=\"https:\/\/emteria.com\/\" target=\"_blank\">emteria.OS<\/a> ist ein Android-Derivat, unter anderem f\u00fcr die Raspberry Pi Plattform. <\/p>\n<p>Unser Online Shop <a href=\"https:\/\/buyzero.de\/\">buyzero.de<\/a> vertreibt emteria.OS Sets - <a href=\"https:\/\/buyzero.de\/products\/android-derivat-emteria-os-auf-android-7-1-2-basierend-fur-raspberry-pi-konfigurator-raspberry-pi-set?variant=16055859150950\" target=\"_blank\">allerdings mit der emteria.OS personal Lizenz, die nicht f\u00fcr kommerziellen Einsatz zugelassen ist<\/a>. <\/p>\n<p><a href=\"https:\/\/pi3g.com\/de\/kontakt\/\" target=\"_blank\">Wir k\u00f6nnen gerne den Kontakt zu emteria GmbH vermitteln.<\/a><\/p>\n<h1>Ref<\/h1>\n<ul>\n<li><a href=\"https:\/\/www.howtogeek.com\/189036\/android-is-based-on-linux-but-what-does-that-mean\/\">https:\/\/www.howtogeek.com\/189036\/android-is-based-on-linux-but-what-does-that-mean\/<\/a><\/li>\n<li><a href=\"https:\/\/hsc.com\/Blog\/Android-vs-Linux-As-An-Embedded-Operating-System-1\">https:\/\/hsc.com\/Blog\/Android-vs-Linux-As-An-Embedded-Operating-System-1<\/a><\/li>\n<li><a href=\"https:\/\/www.raspberrypi.org\/magpi\/android-raspberry-pi\/\">https:\/\/www.raspberrypi.org\/magpi\/android-raspberry-pi\/<\/a><\/li>\n<\/ul>\n<p>Der Android-Roboter ist eine Vervielf\u00e4ltigung oder Abwandlung eines von Google erstellten und freigegebenen Werks und wird gem\u00e4\u00df den in der Datenschutzerkl\u00e4rung beschriebenen Bedingungen verwendet. <a href=\"https:\/\/creativecommons.org\/licenses\/by\/3.0\/\">Creative Commons 3.0 Namensnennung Lizenz<\/a>.<\/p>\n<p>Android ist eine Marke von Google LLC.<\/p>","protected":false},"excerpt":{"rendered":"<p>Technische Grundlagen Android\u2122 basiert auf dem Linux-Kernel, optimiert ihn aber besonders auf eingebettete Systeme &amp; mobile Plattformen. Android nutzt den Linux-Kernel mit einigen Anpassungen. Es unterscheidet sich jedoch grundlegend von \u00fcblichen Linux Distributionen, wie bspw. Debian \/ Raspbian \/ Alpine Linux. \u00dcblicherweise nutzen Distributionen die GNU C Bibliothek (glibc), und einen X-Server (bspw....<\/p>","protected":false},"author":830,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[1],"tags":[536,429,537,292,240,428],"class_list":["post-7586","post","type-post","status-publish","format-standard","hentry","category-raspberrypi-blog","tag-android","tag-arm","tag-emteria-os","tag-linux","tag-raspberry-pi","tag-x86"],"_links":{"self":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts\/7586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/users\/830"}],"replies":[{"embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/comments?post=7586"}],"version-history":[{"count":1,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts\/7586\/revisions"}],"predecessor-version":[{"id":7587,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/posts\/7586\/revisions\/7587"}],"wp:attachment":[{"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/media?parent=7586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/categories?post=7586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pi3g.com\/de\/wp-json\/wp\/v2\/tags?post=7586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}