[Gelöst] Zugriff auf Daten "fremder" Apps

  • 5 Antworten
  • Neuester Beitrag
Diskutiere [Gelöst] Zugriff auf Daten "fremder" Apps im Android App Entwicklung im Bereich Betriebssysteme & Apps.
K

kunkka

Neues Mitglied
Nabend,

wenn ich Dateien in meinem App-Verzeichnis /data/data/com.meineapp/... hinterlege, sind diese - soweit ich weiß - vor dem Zugriff anderer Anwendungen geschützt.

Bei dem Versuch auf die Dateien einer anderen App zuzugreifen, erhielt ich eine FileNotFoundException (Permission denied). In meiner Test-App habe ich dann su-Rechte eingefordert und komme immer noch zu dem gleichen Ergebnis.

Erstelle ich jedoch ein Backup mit Titanium Backup, so erfolgt ja ein erfolgreicher Zugriff auf diese Dateien - wie ist das möglich?

Gruß,
Tim S. (kunkka)
 
M

MichaelS

Erfahrenes Mitglied
Mit Root Rechten kannst du auf alle Daten zugreifen. Im Notfall einfach die Zugriffsrechte anpassen :) Möchte jedoch dazu kein Beispiel machen ;)
 
ramdroid

ramdroid

Stammgast
Root Rechte anfordern heisst eine "su" shell aufmachen. Dann hast du aber nur in dieser shell root Rechte. Deine App selbst ist noch in der Sandbox mit den Permissions die sie immer hat, nicht mehr. Du musst also innerhalb der su shell entsprechende Kommandos ausführen (cd, ls, cat, busybox, etc.) oder du baust dir mit gnu c selbst eine Linux binary die du über die su shell aufrufst die irgendwas macht....
 
K

kunkka

Neues Mitglied
@ramdroid: Ah, das erklärt einiges. Ich habe die root-Abfrage mit:
Code:
Process ps = Runtime.getRuntime().exec("su");
ausgeführt.

Wie kann ich denn Befehle in der Shell in meiner Anwendung ausführen?
Können so wie "su" auch andere Befehle wie oben im Code-Fenster ausgeführt werden?
 
ramdroid

ramdroid

Stammgast
Code:
Process p = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
os.writeBytes(cmd + "\n");
os.writeBytes("exit\n");
os.flush();
int exitCode = p.waitFor();
cmd is dann ein String mit deinem Kommando. Du kannst writeBytes an der Stelle dann natürlich auch öfters aufrufen.....
 
K

kunkka

Neues Mitglied
Danke für die Hilfe. Dann kann's jetzt losgehen ;)