platform.xml nicht editierbar, trotz root

  • Antworten:28
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 138

30.03.2016, 19:27:25 via Website

Der Grund, warum ich das editieren will, ist daß ab A.4.4. die Externe SD keine umfassenden Schreibrechte mehr gewährt.

Folge:

TitaniumBackup kann nicht auf die Externe sichern, was nicht hinnehmbar ist.
Der Navigator hat nach jedem Kartenupdate kein Schreibrecht mehr auf sein Verzeichnis, was nur durch Neuinstallation umgehbar ist.

Bisherige Versuche, die allerdings alle gescheitert sind.

Bei allen Versuchen war root-Recht vorhanden!

In der Android-Umgebung: mit diversen Editoren und Dateimanagern versucht, die Schreibrechte zu erteilen.
Die Apps bekamen dafür selbstverständlich root-Rechte.

Ergebnisse: Manche gaben eine Fehlermeldung nach der Art von "keine Schreibrechte", andere schafften das scheinbar.
Ein Blick in die platform.xml ergab jedesmal, daß die externe SD nach wie vor keine Schreibrechte hat.
Jeglicher Versuch, die Rechte für diese Datei zu ändern schlug fehl, ebenso alle Versuche, das permissions-Verzeichnis schreibbar zu machen.

Der nächste Schritt war, die adb-tools zu installieren und vom PC (unter Debian) aus als "Entwickler" auf diese Datei zuzugreifen.

Das klappt auch soweit, daß ich mir diese Datei auf den Rechner holen und dort die Kopie editieren kann (als root).

Zurückschreiben klappt nicht, Rechte ändern (chmod) ebenfalls nicht.

Rückmeldung: Bad mode

Gehe ich mit adb shell in das permissions Verzeichnis und öffne die Datei mit vi, dann bekomme ich den Hinweis, daß das Teil immer noch read only ist, weshalb alle Editierversuche scheitern.

Im Netz sind so diverse Anleitungen dazu unterwegs, die aber alle nicht funktioniert haben.

Also nicht der eigentliche Teil, das editieren der platform.xml.

z.B. hier:
http://www.android-hilfe.de/thema/archiv-4-4-2-drittanbieter-keine-schreibrechte-mehr-auf-externe-sd.551605/
https://www.droidwiki.de/KitKat/Schreibzugriff_Externe_Speicher

Nur mal 2 Beispiele, bei den anderen besuchten Seiten steht im Wesentlichen das Gleiche drin.

Nicht einmal die App aus dem Store, die das angeblich kann und bei einigen Anwendern auch funktioniert hat.

Sie bekam root-rechte und führte wohl die Änderung durch. Merkte aber nicht einmal, daß die geänderte Datei nicht geschrieben werden konnte.

hier: https://play.google.com/store/apps/details?id=nextapp.sdfix

Jedenfalls steht die externe SD-Karte immer noch mit read only drin. :(

Ich bin nicht nur mit meinem Latein am Ende, sondern echt verzweifelt.

Das widerborstige Teil heißt LG L80 und hat Android 4.4.2.

Hat irgend jemand noch eine Idee?

Noch etwas:

Obwohl ich als root die adb shell aufrufe, ergibt whoami folgendes:

whoami                                   
whoami: unknown uid 2000

Gebe ich adb root ein, dann erkennt die adb shell den "root" Befehl nicht, ebensowenig "sudo".
Su ergibt dann wiederrum

 su

[-] Unallowed user

gebe ich in der Linux-Konsole als root adb root ein, dann das hier:

adb root

adbd cannot run as root in production builds

:( :( :(

Antworten
  • Forum-Beiträge: 138

31.03.2016, 06:26:28 via Website

ok, ich hab vorher das "su" erst im Android-Verzeichnis eingegeben, jetzt gleich nach dem shell-Befehl.

Nun kam auch tatsächlich eine andere Reaktion, aber immer noch nicht die gewünschte.

root@w6:/ # adb push platform.xml /system/etc/permissions/                     

error: device not found

10|root@w6:/system/etc/permissions # chmod -a+rw platform.xml                  

chmod: invalid option -- a
chmod: invalid option -- +
chmod: invalid option -- r
chmod: invalid option -- w
Bad mode
10|root@w6:/system/etc/permissions # chmod a+rw platform.xml
Bad mode
10|root@w6:/system/etc/permissions # dropbox
k_shell/2000:28834: dropbox: not found
127|root@w6:/system/etc/permissions # whoami
whoami: unknown uid 0

Wie Du siehst, habe ich mit chmod ein klein wenig herumgespielt, er scheint das unter Android nicht zu können.

Auch läßt sich die Datei nicht aus /"PC"/home nach permissions zurückverschieben.

Dropbox ist installiert auf dem Handy, kann aber anscheinend auch nicht gestartet werden.

Das spuckt der adb-chmod aus:

1|root@w6:/system/etc/permissions # chmod -h                                   

Usage: chmod [OPTION]
-R, --recursive change files and directories recursively
-h, --no-dereference do not follow symlink
--help display this help and exit

chmod --help gibt die gleiche "Liste".

Ziemlich dürftig im Vergleich zur "echten" Linux-Shell....

Antworten
  • Forum-Beiträge: 8.173

31.03.2016, 07:15:59 via App

Was erwartest du denn auf einem Phone oder Tab, ein volles, "echtes" Linux-System? Tststs..... (nerd)

Die Systempartition vor deinen "Arbeiten" r/w zu mounten, hast du sicher schon gemacht, gell? Falls die noch r/o gemountet ist - was eher normal bei Stock-ROMs ist, sieht's logischerweise schlecht aus mit adb push nach /system/... und chmod and Friends ;) ...deine "Symptome" deuten jedenfalls drauf hin.

Äähm... grad noch gesehen...du versuchst doch nicht wirklich, Dropbox, die App, auf diese Weise von der Shell aus zu starten, oder? Wie kommst du da drauf, dass das so gehen sollte? :D

— geändert am 31.03.2016, 07:24:45

if all else fails, read the instructions.

Antworten
Ludy
  • Mod
  • Blogger
  • Forum-Beiträge: 7.164

31.03.2016, 08:01:16 via App

Hallo Norman,

vielleicht solltest du dich etwas in die Materie einlesen, die Beschreibung ist fehlerfrei und kann auch umgesetzt werden. Ich habe sie selber ausprobiert ohne Fehler.

Ich habe es auch mit dem ES Explorer probiert, das ging ohne Fehler.

P.s. du schmeißt die ADB Befehle durcheinander.

— geändert am 31.03.2016, 08:03:38

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

Lebensmittelwarnung App-Thread

Download Samsung Firmware Tool

Antworten
  • Forum-Beiträge: 8.173

31.03.2016, 08:07:43 via App

Jepp...und wenn du so wie oben mal an einer Systempartition rum bastelst, wenn sie beschreibbar ist, ist die Chance groß, dass das Phone nachher nicht mehr bootet ;)

if all else fails, read the instructions.

Antworten
  • Forum-Beiträge: 138

31.03.2016, 12:40:17 via Website

Ludy

Hallo Norman,

vielleicht solltest du dich etwas in die Materie einlesen, die Beschreibung ist fehlerfrei und kann auch umgesetzt werden. Ich habe sie selber ausprobiert ohne Fehler.

Das tue ich ja. Nur fällte mir das bei weitem nicht mehr so leicht, wie es vor 30-40 Jahren gewesen wäre.

Mag sein, daß es bei Dir fehlerfrei lief.

Bei mir funzt es jedenfalls nicht.
Kann sein, daß ich da irgendwas falsch eingebe, aber wenn ich mich nach der Anleitung im Link halte und die Syntax stimmt, dann ist entweder im Link ein Fehler, oder es fehlt eine wichtige Kleinigkeit, die der Autor vielleicht als so selbstverständlich voraussetzt, daß er sie nicht erwähnt. Oder er hat es schlicht vergessen.
Kommt ja auch mal vor, sowas.
Oder es liegt an meinem Gerät. Vielleicht hat LG das ja - warum auch immer - irgendwie von Werk aus unterbunden.

Die Frage ist nach wie vor: wie kriege ich das jetzt hin?

P.s. du schmeißt die ADB Befehle durcheinander.

Durchaus möglich und nicht unwahrscheinlich. Leider habe ich da bisher nichts ausführliches gefunden. Nur eben Anleitungen wie in dem Link oder aber Einsteigeranleitungen zum Thema ADB, die aber das verschweigen, was mich interessiert.

Antworten
  • Forum-Beiträge: 138

31.03.2016, 12:53:40 via Website

Klaus T.

Was erwartest du denn auf einem Phone oder Tab, ein volles, "echtes" Linux-System? Tststs..... (nerd)

Von einem linuxbasierendem System erwarte ich, daß implementierte Befehle auch funktionieren, und zwar so, wie es heutzutage üblich ist, ok meinetwegen auch etwas abgespeckt.
Und wenn mit einem m.E. derart grundlegendem Befehl wie chmod nicht nur die meisten, sondern sogar die grundlegensten Funktionen nicht funktionieren, nämlich die Rechte ändern, welchen Sinn macht es dann, diesen drin zu lassen?

Die Systempartition vor deinen "Arbeiten" r/w zu mounten, hast du sicher schon gemacht, gell?

Hä?

Wenn ich mit ADB auf das Verzeichnis /permissions zugreifen kann, dann IST es gemountet.
Wenn ich die platform.xml in mein /home kopieren kann, dann IST das ebenfalls gemountet.

Und auch wenn der Link das Prozedere unter Win beschreibt: Unter Linux sollte es nicht anders sein, außer daß am PC die Pfade halt anders sind.
Aber das ist wohl im entsprechenden Paket berücksichtigt. Schließlich spielt sich das ja alles auf der Konsole ab.

Die Frage ist nur: Warum kann ich es insx /home, aber nicht zurück kopieren. Ok, weil das Verzeichnis r/o ist. Warum wird nirgenwo erwähnt, wie ich das ändern kann?

Falls die noch r/o gemountet ist - was eher normal bei Stock-ROMs ist, sieht's logischerweise schlecht aus mit adb push nach /system/... und chmod and Friends ;) ...deine "Symptome" deuten jedenfalls drauf hin.

Meinst Du die /permissions? die IST natürlich r/o gemountet, das ist ja das Problem. Und deshalb wollte ich das ja mit chmod als root ändern.
Wäre schön, wenn ich statt Kritik über meine Vorgehensweise mal erfahren würde, wie ich das auf r/w setzen kann. Damit ich das endlich speichern kann.

Äähm... grad noch gesehen...du versuchst doch nicht wirklich, Dropbox, die App, auf diese Weise von der Shell aus zu starten, oder? Wie kommst du da drauf, dass das so gehen sollte? :D

Probieren geht über studieren. Was kann denn schon passieren? Daß sie nicht startet. Schlimmstenfalls. Und wenn sie doch startet: Super: Dann geht es vielleicht damit.

Antworten
  • Forum-Beiträge: 138

31.03.2016, 12:57:42 via Website

Klaus T.

Jepp...und wenn du so wie oben mal an einer Systempartition rum bastelst, wenn sie beschreibbar ist, ist die Chance groß, dass das Phone nachher nicht mehr bootet ;)

Diese Gefaht besteht immer, wenn man am System herumschraubt. Wer sich mit dem Thema beschäftigt, weiß das auch und ist bereit, das Risiko einzugehen.

Antworten
  • Forum-Beiträge: 8.173

31.03.2016, 15:06:48 via App

norman

Hä?

Wenn ich mit ADB auf das Verzeichnis /permissions zugreifen kann, dann IST es gemountet.
Wenn ich die platform.xml in mein /home kopieren kann, dann IST das ebenfalls gemountet.

Jooo....aber wie ist es gemountet? ;)
Das ist seit 30-40 Jahren nicht besonderes im Umgang mit Unix ;)

Ausserdem frage ich mich erneut, was du von einem "embedded" Linux und dem Umfang seiner Kommandos auf einem Phone eigentlich erwartest? Die Thematik scheint dir absolut fremd zu sein....

— geändert am 31.03.2016, 15:10:00

if all else fails, read the instructions.

Antworten
Ludy
  • Mod
  • Blogger
  • Forum-Beiträge: 7.164

31.03.2016, 15:49:12 via Website

Hallo norman,

so mal ganz von Vorne.

Windows Kommandozeilenfenster öffnen im Ordner von adb, wenn nicht Global definiert.

Dort gibst du

adb pull /system/etc/permissions/platform.xml platform.xml

ein.

Danach solltest Du die Datei im Ordner auf de PC haben. Diese öffnest Du mit dem Editor und suchst

 <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >

aussehen sollte das dann so

<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
    <group gid="sdcard_rw" />
</permission>

dort ergänzt du

<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
    <group gid="sdcard_rw" />
    <group gid="media_rw" />
</permission>

Datei speichern/überschreiben.

Jetzt kommt der spannende Teil

adb shell
su
mount -o rw,remount /system
chmod 777 /system/etc/permissions/platform.xml
exit
exit

Dann Datei aufs Device schicken

adb push platform.xml /system/etc/permissions/

nun wieder die Berechtigungen auf Standard

adb shell
su
chmod 644 /system/etc/permissions/platform.xml

adb reboot

Alle angaben ohne Gewähr oder Pistole. :-D

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

Lebensmittelwarnung App-Thread

Download Samsung Firmware Tool

norman

Antworten
  • Forum-Beiträge: 8.173

31.03.2016, 16:06:31 via App

Wie gesagt, der push (und der chmod danach) kommt nur dann zum Erfolg, wenn die Systempartition r/w gemountet ist.... ;)

Oops..du hast dem Norman das mount-Kommando ja vorgebetet, grad erst gesehen ;)

— geändert am 31.03.2016, 16:08:28

if all else fails, read the instructions.

Ludy

Antworten
  • Forum-Beiträge: 8.173

31.03.2016, 16:11:16 via App

Jepp... zu schnell gelesen. Hab's editiert. Danke.

if all else fails, read the instructions.

Antworten
  • Forum-Beiträge: 138

01.04.2016, 09:37:15 via Website

Erstmal vielen Dank für Deine Mühe. :)

[[cite Ludy]]
Datei speichern/überschreiben.

Soweit war ich ja schon gewesen. Außer, daß ich das nicht unter Windows gemacht habe, sondern unter Linux.

Jetzt kommt der spannende Teil

adb shell
su
mount -o rw,remount /system
chmod 777 /system/etc/permissions/platform.xml
exit
exit

Das war die entscheidene Info. Die fehlt nämlich in den anderen Anleitungen.

Dann Datei aufs Device schicken

adb push platform.xml /system/etc/permissions/

Das hat leider nicht geklappt. Erst als ich eine neue Konsole geöffnet hatte, klappte es. Keine Ahnung warum. Aber ich erwähne das, weil das noch anderen so passieren könnte.

nun wieder die Berechtigungen auf Standard

adb shell
su
chmod 644 /system/etc/permissions/platform.xml

Hier fehlt noch

exit
exit

(Nur der Vollständigkeit halber)

adb reboot

Komischerweise mußte ich für den reboot-Befehl erneut eine Konsole öffnen.

Alle angaben ohne Gewähr oder Pistole. :-D

Dafür aber eine Riesen-Phiole Danke! :)

Ludy

Antworten
Ludy
  • Mod
  • Blogger
  • Forum-Beiträge: 7.164

01.04.2016, 09:49:28 via App

Hallo norman,

Bitte setze deinen Thread noch auf Beantwortet, indem du im Browser über deinem ersten Post auf "Mehr"->"Beantworten" klickst.

Oder in der App im Thread auf das Optionsmenü -> "Beantwortet setzen".

Danke (smug)

Das Wissen hab ich durch unsere Community angeeignet ;)

Danke für die Ergänzung.

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

Lebensmittelwarnung App-Thread

Download Samsung Firmware Tool

Antworten
  • Forum-Beiträge: 138

01.04.2016, 10:19:16 via Website

Nachdem das LG nun rebootet hat, gibt es nun leider gar keinen Zugriff mehr auf die SD. :(

TitaniumBackup akzeptiert nun auch die interne SD nicht mehr.
File-Expert kann auf die SD nciht mehr zugreifen.
GhostCommander kann zwar auf alles - zumindet lesend - zugreifen, dafür aber den root-Mode nicht beenden.

SD-Maid Pro dagegen scheint reibungslos zu funktionieren, ebenso Android-Assistent.

Das steht jetzt in der platform.xml:

 <permission name="android.permission.READ_EXTERNAL_STORAGE" >
    <group gid="sdcard_rw" />
</permission>

<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
    <group gid="sdcard_rw" />
    <group gid="sdcard_rw" />
</permission>

<permission name="android.permission.ACCESS_ALL_EXTERNAL_STORAGE" >
    <group gid="sdcard_rw" />
    <group gid="sdcard_rw" />
    <group gid="sdcard_all" />
</permission>

Sollte also funktionieren.

Hier mal die Berechtigungen:

Im Hauptverzeichnis hat

/sdcard ->/storage/emulated/legacy lrwxrwxrwx root root

Schwint soweit in Ordnung zu sein.
Dabei fällt mir ein: Das "->" bedeutet doch, daß hier sdcard auf den emulated/legacy verlinkt, oder?
Müßte man das nicht auch auf die externe SD verlinken können? Oder gibts dann (noch größere) Probleme?

/storage hat dwrxr-x--x system sdcard_r

Wieso kann TiBa darauf nicht zugreifen? Der hat doch Root-Rechte, ebenso wie GhostCommander. :?

Im /storage hat /external_SD dwrxrwx--x root sdcard_r

/sdcard= -> /storage/emulated/legacy wie oben

/emulatet dr-xr-xr-x root root

Nach meinem (beschränktem) Verständnis ist also alles ok, die Probleme dürften nicht auftreten.

Warum aber doch?

Was habe ich da falsch gemacht?

Antworten
Ludy
  • Mod
  • Blogger
  • Forum-Beiträge: 7.164

01.04.2016, 11:27:15 via App

schau mal bei mir und bei dir!

<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
`<
group gid="media_rw" />
</permission>`

— geändert am 01.04.2016, 11:37:57

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

Lebensmittelwarnung App-Thread

Download Samsung Firmware Tool

Antworten
  • Forum-Beiträge: 138

01.04.2016, 13:31:17 via Website

"media" hat bei mir ein eigenes Kapitel:

  <permission name="android.permission.WRITE_MEDIA_STORAGE" >
    <group gid="media_rw" />
</permission>

Daran hab ich nichts geändert.

Und in den obigen gab es bei mir kein "media"-Eintrag.

Oder machen die trotz gleichlautender Syntax was anderes? (Würde mich zwar nicht wundern, verstehen täte ichs trotzdem nicht)

Antworten
Ludy
  • Mod
  • Blogger
  • Forum-Beiträge: 7.164

01.04.2016, 18:59:25 via Website

Hallo norman,

warum hast Du nicht das gemacht was geschrieben wurde, jetzt haste Quatsch in der Datei drin, hast Du von der Datei eine original Kopie, wenn nicht was für ein Device hast Du?

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

Lebensmittelwarnung App-Thread

Download Samsung Firmware Tool

Antworten

Empfohlene Artikel