Ich versuche also, eine App in Android Studio zu erstellen, und ich muss auf eine bestimmte Datei in der App verweisen. cascade.xml.
Ich habe sie ohne Probleme mit adb auf das emulierte Telefon geschoben (es befindet sich im Ordner storage/sdcard). Die App kann jedoch immer noch nicht darauf zugreifen, und ich denke, das liegt an den Dateiberechtigungen -rwxrwx---
(dh kein globaler Zugriff). Diese Berechtigungen werden in ADM überprüft und verwendetls -l <filename>
Ich versuche, die Berechtigungen dieser cascade.xml
Datei zu ändern, indem ich mit zurück in die Shell ( adb shell
) gehe chmod 777 /storage/sdcard/cascade.xml
, aber es schlägt stillschweigend fehl und tut nichts. Habe es mit anderen chmods versucht, aber es passiert überhaupt nichts. Wenn ich su
und dann tue chmod 777 /storage/sdcard/cascade.xml
, dasselbe. Der Versuch, andere chmod
wie chmod 700
und dergleichen zu tun, bringt auch nichts (leise scheitern).
Wenn ich jetzt versuche, ein Verzeichnis im Ordner zu erstellen, kann ich das mit mkdir
- mkdir /storage/sdcard/cascades
funktioniert gut, und die Dateiberechtigungen des Ordners sind drwrwx---
. Wenn ich jedoch versuche mkdir chmod
, den Ordner zu erstellen und dieselben Berechtigungen zu mkdir chmod 770 /storage/sdcards/cascades2
erhalten, sagt die Shell mkdir failed for chmod, Read-only file system
. Ich kann auch Textdateien erstellen, indem ich so etwas mache echo 'Hello World.' > /storage/sdcard/foo.txt
(was es mit Berechtigungen von erstellt -rwxrwx---
), aber wenn ich es danach versuche chmod
, passiert nichts. Wenn ich versuche, ein Echo von „Hello World“ zu machen. > storage/sdcard/foo2.txt chmod 777, es ist die gleiche Berechtigung, aber die Dateigröße ist 24 statt 14.
Ich habe jede Iteration von gemacht mount
und kann mir vorstellen remount
, und ich kann chmod immer noch nicht richtig zum Laufen bringen. Ich habe versucht, su
vor allem und nichts zu laufen. Ich habe versucht, mit zu beginnen adb root
, und es sagt, dass ich bereits root bin. Ich kann den Emulator auch mit ADM und adb push
. Leider befindet sich meine gesamte Umgebung auf einem Windows 7-Gerät, daher kann ich nicht einfach eine Datei mit -rwxrwxrwx
Berechtigungen erstellen und sie einfach übertragen (es sei denn, es gibt eine Berechtigungseinstellung in Windows, die die Übertragung als 777-Berechtigung bewirkt, die ich habe nicht wissen).
Bearbeiten: Vergessen zu erwähnen, dass das emulierte Telefon API 19 ausführt, Ziel-Google-APIs (x86-System) und KitKat ausführt.
Ich habe es herausgefunden - es scheint, als könnten Sie die Berechtigungen für Dateien auf nicht ändern sdcard
. Verschob es data/local
und chmod
funktionierte wie ein Zauber.