Difference between revisions of "App"

From Android Wiki
Jump to navigation Jump to search
(App-Bild hinzugefügt)
Line 29: Line 29:
  
 
== Apps und Zugriffsrechte ==
 
== Apps und Zugriffsrechte ==
Android Apps benötigen, wie jedes andere Programm auch, gewisse Zugriffsrechte auf Betriebssystemressourccen und Speicherkapazitäten. Android besitzt daher ein Rechtesystem, welches in den Android Kern (unter anderem bestehend aus dem Linux-[[Kernel]]) implementiert ist.
+
{{Hauptartikel|Berechtigungen}}
 
+
Android Apps benötigen, wie jedes andere Programm auch, gewisse Zugriffsrechte auf Funktionen und Speicherkapazitäten des Betriebssystems. Android besitzt daher ein Rechtesystem, welches in den Linux-[[Kernel]] implementiert ist.
Vor der Installation einer App wird der Nutzer gefragt, ob er dieser App eine Liste der angeforderten Berechtigungen gewähren möchte oder nicht. Die Liste der Berechtigungen wird vom Entwickler der App festgelegt. Nachträglich lässt sich diese Liste der Berechtigungen in den Einstellungen unter ''Apps'' einsehen, wenn man die entsprechende Detailseite der App durch einen Tipp auf diese öffnet.
 
 
 
Benötigt ein Entwickler für eine App eine bestimmte Berechtigung, muss er diese in die Liste der Berechtigungen aufnehmen. Diese Rechte werden in der ''AndroidManifest.xml'' der App hinterlegt. Nachdem die App auf einem Gerät installiert wurde, kann diese auch nur die Ressourcen nutzen, die bei der Installation durch die Berechtigungen gewährt wurden. Somit wird sichergestellt, dass ein Entwickler nur die Ressourcen nutzen kann, die vom Nutzer bestätigt wurde, ein umgehen des Rechtesystems ist somit schwer möglich<ref>http://www.android-hilfe.de/android-news/356538-android-trojaner-doch-nicht-nur-ein-mythos-aus-china.html</ref>.
 
 
 
Eine Liste der möglichen Zugriffsrechte ist hier zu finden: [http://developer.android.com/reference/android/Manifest.permission.html]
 
  
 
=== Gefahren ===
 
=== Gefahren ===
Line 45: Line 40:
 
* Zugriff auf Netzwerkdienste
 
* Zugriff auf Netzwerkdienste
  
Kommen einen die verlangten Berechtigungen komisch vor, ist von der Installation der App abzuraten. Ggf. sollte man sich mit dem Entwickler in Verbindung setzen, um in Erfahrung zu bringen, wozu gewisse Berechtigungen benötigt werden.
+
Kommen einen die verlangten Berechtigungen unlogisch vor, ist von der Installation der App abzuraten. Ggf. sollte man sich mit dem Entwickler in Verbindung setzen, um in Erfahrung zu bringen, wozu gewisse Berechtigungen benötigt werden.
  
 
=== Eingeforderte Zugriffsrechte verwalten ===
 
=== Eingeforderte Zugriffsrechte verwalten ===
Leider bietet Android derzeit keine eingebaute Funktion um die von Apps eingeforderten Zugriffsrechte zu beschränken. Hierfür muss man bisher noch auf andere Methoden zurückgreifen, wie bspw. durch:
+
{{Hauptartikel|Berechtigungen/Einschränken}}
 +
Vor Android {{Android|4.3}} gibt es keine eingebaute Funktion, um die von Apps eingeforderten Zugriffsrechte zu beschränken. Hierfür muss man bisher noch auf andere Methoden zurückgreifen, wie bspw. durch:
 
* '''Modifikation des Systems'''
 
* '''Modifikation des Systems'''
 
* '''Modifikation der App'''
 
* '''Modifikation der App'''
 
* '''Verbieten der Zugriffsrechte mit [[Root]]'''
 
* '''Verbieten der Zugriffsrechte mit [[Root]]'''
 
==== Modifikation des Systems ====
 
Mit [[PDroid]] wird nicht die Berechtigung einer App selbst verändert, sondern der Umgang des Systems bei der Anfrage von gewissen Daten modifiziert. So kann der Nutzer bestimmen, ob die App bei der Anfrage von bestimmten Daten Zugriff auf diese erhält oder nicht.
 
 
==== Modifikation der App ====
 
'''<div style="color:red;">Das Modifizieren einer App kann möglicherweise die Lizenzbedingungen des jeweiligen Rechteinhabers verletzen und somit strafbar sein.</div>'''
 
 
Das Modifizieren der Manifest-Datei ist eine einfache Methode, die Zugriffsrechte einer App einzuschränken. Zu beachten ist allerdings, dass die Ausführung der App nach der Veränderung nicht ordnungsgemäß sein kann, da die entfernte Berechtigung in der Programmierung der App erwartet wird.
 
 
==== Verbieten der Zugriffsrechte mit Root ====
 
Das Verbieten der Zugriffsrechte ist ebenfalls eine einfache Methode die jedoch [[Root]]-Rechte benötigt. Bei dieser Methode wird mit einer App (z.B. {{MarketLink|com.lbe.security.lite|LBE Privacy Guard}}) der Zugriff auf die angeforderten Daten verboten. Bei dieser Methode kann es ebenfalls Probleme bei der Ausführung der entsprechenden App kommen.
 
  
 
== Android App programmieren ==
 
== Android App programmieren ==

Revision as of 22:14, 12 May 2014

Die Tapatalk App bietet dem Nutzer mobilen Zugriff auf verschiedene Internetforen.

Das Wort App ist die Abkürzung für die englische Bezeichnung Application (deutsch: Anwendung) und bezeichnet im Grunde genommen das gleiche wie das Wort Programm, welches man in anderen Betriebssystemumgebunden findet. Eine App stellt dem Nutzer verschiedene (mehr oder weniger sinnvolle) Funktionen zur Verfügung. Das Wort App bezeichnet dabei nicht nur Anwendungen für mobile Endgeräte.

Was ist eine App

Eine App ist eine Anwendung, vergleichbar mit einem Programm (z. B. Microsoft Word) auf dem Computer. Durch die Installation werden neue Funktionen hinzugefügt oder vorhandene Funktionen verändert beziehungsweise erweitert.

Durch Apps mit verschiedenen Funktionsumfängen kann der Nutzer eines Gerätes dieses nach belieben personalisieren und auf seine Bedürfnisse und Anforderungen anpassen.

Da Android modular aufgebaut ist, ist es möglich theoretisch jede Apps durch andere, mit einem größeren oder besser funktionierenden Funktionsumfang, auszutauschen, bzw. zu ersetzten. So ist es bspw. möglich, anstelle des standardmäßig installierten Launchers einen anderen, bspw. den Go Launcher Play Store, zu verwenden. Dadurch ist Android in der Basisform in hohem Maße flexibel und individuell anpassbar.

Apps kann man, nach ihrem Speicherort, in Systemapps und Userapps unterteilen.

Systemapps haben prinzipiell keine anderen Rechte als Userapps, werden allerdings auf der Partition /system (/system/app) (vor-)installiert, auf welchem sich auch das Android-System befindet. Durch eine herstellerseitigen Softwaresperre kann das Schreiben auf der /system Partition verhindert, und somit das Deinstallieren von Systemapps, verhindert werden.

Userapps hingegen werden auf der Partition /data (/data/app) gespeichert. Dies erlaubt es dem Nutzer, diese Apps nach belieben zu deinstallieren.

Vorinstallierte Apps sind in der Regel Systemapps und lassen sich nicht ohne weiteres deinstallieren.

Arten von Apps

Die Vielzahl an verfügbaren Anwendungen in verschiedenen Verteilungssystemen, bspw. dem Google Play Store, lassen sich nicht eindeutig in eine einheitliche Struktur bringen. Viele Anbieter ordnen die Apps daher in verschiedene Kategorien ein, in welche die Funktionen der Apps am besten herein passen. Beispiele für solche Kategorien können sein:

  • Entertainment
  • Spiele
  • Internet
  • Mail
  • Messageing
  • Business
  • Performance

Apps und Zugriffsrechte

Hauptartikel: Berechtigungen

Android Apps benötigen, wie jedes andere Programm auch, gewisse Zugriffsrechte auf Funktionen und Speicherkapazitäten des Betriebssystems. Android besitzt daher ein Rechtesystem, welches in den Linux-Kernel implementiert ist.

Gefahren

Trotz des Rechtesystems von Android kommt es immer wieder vor, dass Apps entwickelt werden, die das Ziel haben, dem Nutzer, dem Gerät oder den Daten zu schaden. Oft wird hierfür darauf spekuliert, dass der Nutzer die Liste der angeforderten Berechtigungen nicht aufmerksam durchliest und hinterfragt, ob diese App für ihre Funktion eine bestimmte Berechtigung überhaupt benötigt oder nicht. Daher sollte man als Nutzer bspw. gründlich darüber nachdenken, wozu eine Telefonie-App den Zugriff auf folgende Berechtigungen gebrauchen könnte:

  • Zugriff auf SMS
  • Zugriff auf Google-Dienste
  • Zugriff auf kostenpflichtige Dienste
  • Zugriff auf Telefonbuchdaten
  • Zugriff auf Netzwerkdienste

Kommen einen die verlangten Berechtigungen unlogisch vor, ist von der Installation der App abzuraten. Ggf. sollte man sich mit dem Entwickler in Verbindung setzen, um in Erfahrung zu bringen, wozu gewisse Berechtigungen benötigt werden.

Eingeforderte Zugriffsrechte verwalten

Vor Android 4.3 Jelly Bean "Jelly Bean" gibt es keine eingebaute Funktion, um die von Apps eingeforderten Zugriffsrechte zu beschränken. Hierfür muss man bisher noch auf andere Methoden zurückgreifen, wie bspw. durch:

  • Modifikation des Systems
  • Modifikation der App
  • Verbieten der Zugriffsrechte mit Root

Android App programmieren

Apps können sowohl von Privatpersonen, wie auch von Unternehmen entwickelt und veröffentlicht werden. Die Programmierung erfolgt mit Hilfe der Programmiersprache Java, die schon von den Handys mit älteren Betriebssystemen verwendet wurden. Durch Java wird eine Kompatiblität mit allen Androidversionen gewährleistet.

Weitere Informationen zur Entwicklung einer App findet man bspw. in diesem WikiBook. Ein schnelles und einfaches Tutorial für Programmierer mit Erfahrung hat Jan Kammerath mit Android App Programmieren geschrieben.

Veröffentlichen von Apps

Die beste Möglichkeit seine Apps zu vertreiben, ob nun kostenfrei oder kostenpflichtig, ist der Google Play Store. Dieser ist auf vielen Android-Geräten bereits vorinstalliert und erreicht somit eine große Menge von Nutzern. Um Apps im Play Store veröffentlichen zu können, muss man sich bei Google als Entwickler anmelden und eine Gebühr von einmalig 25 $ entrichten, die über eine Kreditkarte oder anderen, von Google Wallet unterstützten Zahlungsmöglichkeiten, zu zahlen sind. Mit der Gebühr soll ein Überfüllen des Play Store mit sinnlosen Apps eingegrenzt werden. Nachdem man sich als Entwickler registriert hat, kann man seine App hochladen. Hierfür benötigt man folgende Angaben:

  • .apk-Datei
  • Screenshot
  • Werbegrafik (optional)
  • Sprache
  • Titel
  • Beschreibung
  • Werbetext

Nachdem man die App hinzugefügt hat, wird diese nach einiger Zeit im Store gelistet und kann heruntergeladen werden. Eine Freischaltung durch einen Googlemitarbeiter ist nicht notwendig, allerdings erfolgt eine automatisierte, maschinelle Prüfung der App. Entspricht der Inhalt der Anwendung nicht den Richtlinien des Play Store, wird diese entfernt.

Durch einen von Google eingeführten Algorithmus, der den Inhalt einer App prüft und, wie eine Art Virenscanner, schädliche Apps aus dem Play Store entfernt. Dieser Programmcode wird nach eigenen Angaben stätig weiterentickelt um so die Sicherheit im Play Store zu gewährleisten.

Einzelnachweise