13.01.2014 Aufrufe

PDF 941kB - Hochschule Ulm

PDF 941kB - Hochschule Ulm

PDF 941kB - Hochschule Ulm

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Smartphone Betriebssysteme<br />

Application Sandbox<br />

UID: 40143<br />

App A<br />

Dynamische Rechtevergabe<br />

User ID: 40143<br />

anhand von Permissions<br />

Ressourcen<br />

UID: 40143<br />

...<br />

Abbildung 12: Application Sandbox in Android 4.3.<br />

Sollte jedoch ein Herausgeber zwei Apps in derselben Application Sandbox ausführen<br />

wollen, ermöglicht Android 4.3 durch Festlegen des Wertes sharedUserId in der AndroidManifest.xml.<br />

Voraussetzung hierfür ist jedoch, dass beide Apps mit demselben Private<br />

Key signiert wurden. Mit neueren Versionen hat Google immer mehr Permissions eingeführt.<br />

Die Problematik, die dabei entsteht, ist jedoch, dass alte Apps, die beispielsweise<br />

bei einer alten Android Version für die entsprechende API keine Permission benötigt<br />

haben, in der neuen Android-Version eine solche benötigen. Dies würde typischerweise<br />

dafür sorgen, dass die alte App nicht mit der neuen Android-Version kompatibel ist.<br />

Um dem entgegenzuwirken, kann Android die targetSdkVersion der App abfragen und<br />

automatisch die fehlenden Permissions zur Application Sandbox hinzuzufügen, wie im<br />

Abschnitt Using Premissions in [Goo] dokumentiert ist. Dies geschieht jedoch nur bei<br />

Apps, deren targetSdkVersion 3 oder niedriger ist. Unter Windows Phone 8 ist das<br />

nicht möglich. Des Weiteren unterscheidet sich die Application Sandbox von Android<br />

4.3 zum Chamber von Windows Phone 8 so, dass es möglich ist, dass sich Apps eines<br />

Herausgebers eine Application Sandbox teilen können. Dies hat den Vorteil, dass die<br />

Apps z.B. auf gemeinsame Dateisystem-Ressourcen zugreifen können. Unter Windows<br />

Phone 8 ist das nur bedingt möglich: Eine App kann einen Background Agent haben.<br />

Dieser Background Agent ist separater Code, der zyklisch aufgerufen wird und an eine<br />

App gebunden ist. D.h. die App und der Background Agent teilen sich ein gemeinsames<br />

Dateisystem, das zum Informationsaustausch genutzt werden kann. In Kapitel 4.3<br />

werden mögliche Wege zur App-zu-App-Kommunikation auf Smartphones beschrieben.<br />

Weitere Unterschiede zwischen Windows Phone 8 und Android 4.3 bestehen auf Trei-<br />

22

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!