1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. kunkka, 04.04.2011 #1
    kunkka

    kunkka Threadstarter Neuer Benutzer

    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)
     
  2. MichaelS, 05.04.2011 #2
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

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

    ramdroid Android-Experte

    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....
     
    kunkka gefällt das.
  4. kunkka, 05.04.2011 #4
    kunkka

    kunkka Threadstarter Neuer Benutzer

    @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?
     
  5. ramdroid, 05.04.2011 #5
    ramdroid

    ramdroid Android-Experte

    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.....
     
    kunkka gefällt das.
  6. kunkka, 05.04.2011 #6
    kunkka

    kunkka Threadstarter Neuer Benutzer

    Danke für die Hilfe. Dann kann's jetzt losgehen ;)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Wandernder Text Android App Entwicklung 17.10.2017
[OFFEN] Wie bekomme ich Zugriff auf meine externe SD Karte? Android App Entwicklung 23.08.2017
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[ERLEDIGT] Android Studio Erste App-Programmierung Android App Entwicklung 02.08.2017
[ERLEDIGT] Daten/Code meiner App speichern? Android App Entwicklung 27.07.2017
[GESCHLOSSEN] Wie kann ich Kostenlos Apps erstellen? Android App Entwicklung 28.06.2017
[NON-DEV] ADB -Nach Tutorial zur Speichererweiterung - Installation von Apps schlägt fehl Android App Entwicklung 24.06.2017
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017
[GELÖST] Übergabe an zweite Activity Android App Entwicklung 11.05.2017
[GELÖST] Android PHP MySQL Android App Entwicklung 05.05.2017
Du betrachtest das Thema "[Gelöst] Zugriff auf Daten "fremder" Apps" im Forum "Android App Entwicklung",