Datenordner der Apps auf der Speicherkarte ändern

H

herr.winter

Fortgeschrittenes Mitglied
23
Mir geht es seitdem ich android nutze tierisch auf den geist, daß fast jedes programm nach belieben die sd karte auf der obersten ebene mit ordnern und dateien zumüllt statt EINEN EINHEITLICHEN ordner zu nutzen, wir das andere systeme auch tun. Ich muß ewig scrollen und finde die wichtigen ordner nicht mehr. Kann man mit root rechten einen standardordner festlegen, wie z.b. /sdcard/.appdata
den dann die programme nutzen müssen, um sich dort zu installieren und programminterne daten abzulegen, die mich als nutzer nicht wirklich interessieren? Da können sie dann von mir aus verzeichnisse bauen, wie sie wollen. Aus den augen aus dem sinn ;-)
 
Hm, gibt es hier keine Linux Gurus oder Ähnliches, die da einen guten Einfall haben?
Der Installationspfad wird doch wahrscheinlich nur in irgend einer Systemdatei festgelegt.

Wie läuft sowas bei Linux und wäre das auf Android übertragbar?
Bei Windows gibts da diverse Möglichkeiten, aber das hilft hier leider nicht weiter. ;-)
 
Sie nutzen einheitlich /sdcard, weil das vorhanden ist.

Pack doch einfach DEINE wichtigsten Daten (was immer das sein mag, dass man das tatsächlich über den Pfad statt über die App öffnen will) in ein Verzeichnich wie !Meins o.ä.
 
  • Danke
Reaktionen: herr.winter
Danke. Das ist als Notlösung ein guter Einfall. Hab grade umkopiert. Aber eine Dauerlösung is das meiner Meinung nach nicht für ein ernstzunehmendes Betriebssystem.

Weiß denn jemand, wie das bei Android gelöst ist? Ist der Pfad in jeder Anwendung kodiert, wie der Programmierer Lust und Laune hat oder gibt es da eine zentrale Stelle im system wo der Pfad zum Installationsverzeichnis für alle Programme vorgegeben wird und sie dann nur noch unterverzeichnisse anlegen?
 
Zuletzt bearbeitet:
Android ist durchaus ernst zu nehmen.
Du benötigst kein Dateimanagement. Das machen die Apps selber.

Gesendet von meinem GT-I9000 mit Tapatalk
 
Sehe ich auch so, daß es ernst zu nehmen ist, wenn es in vielerlei Hinsicht auch noch in den Kinderschuhen steckt. Von allen aktuellen Handybetriebssystemen ist es meiner Meinung nach das beste. Die Tatsache, daß man unter Android auch ohne eine klare Struktur seine Daten nutzen kann ist ja auch nichts Schlechtes. Aber ich greife nun mal auch mit dem PC auf die Dateistruktur der Speicherkarte zu, wenn ich Bilder, mp3s und Dokumente, die ich unterwegs brauche hin und her schiebe oder unterwegs über den Dateimanager umsortiere und da ist das Kuddelmuddel was da herrscht ehrlichgesagt eine echte Zumutung.

Das es nicht nur mir so geht und andere auch Wert auf die Nutzung von Verzeichnissen legen, sieht man z.B. an der Tatsache, daß extra MP3-Player entwickelt werden, in denen man nicht über ID3 Tags sondern über die Verzeichnisstruktur navigiert.
 
so wie ich es sehe:

die 'neuen' und sich also modern gegebenen Betriebssysteme gehen davon aus, dass der Anwender nicht mit Dateien und Verzeichnissen zu tun hat.

Wir sehen es auch bei den neuen Windows Versionen. Man hat virtuelle Plätze wo Daten liegen, das sind diese Bibliotheken. Und diese sollen benutzt werden, alles andere ist nicht vorgesehen. Programme installieren sich dort wo es das System als richtig findet.
Benutzt man Windows so wie vorgesehen, hat man 'von Hand' auf der Festplatte nichts zu suchen und man kommt an vieles auch gar nicht ran.

Hier ist es so, dass der Pfad eigentlich in dem Packet drin ist. Also einige Apps kann man gar nicht auf die Karte installieren, die gehen zwangsläufig auf die root Platte. Also eigentlich alle und man kann dann einige davon auf die SD verschieben.

Zum suchen und kopieren etc von Dateien ist es vorgesehen die diversen spezial Apps zu verwenden, also für Bilder das Bilder-ansehen App, für Musik das entsprechende Musik App etc.

Is talles etwas ärgerlich für uns ältere Semester, wir sind ja mit Ordnung im Root DIR und Struktur in den sub DIR aufgewachsen seit den 80er Jahren.

Aber seien wir ehrlich: auch die Darstellung mit DIR und dem Baum aus sub Dir ist nur ein virtueller Abbild von etwas was es so nicht gibt und nie gegeben hat. Wir sind es nur gewöhnt nach 20 Jahren so zu denken. Darum haben wir mit der neuen 'Ordnung' Mühe. Uns erscheint es chaotisch, aber aus heutiger Sicht auf Ergonomie scheint es besser zu sein als unsere alte Baumstruktur mit Verzeichnissen und Unterverzeichnissen etc.
 
herr.winter schrieb:
Mir geht es seitdem ich android nutze tierisch auf den geist, daß fast jedes programm nach belieben die sd karte auf der obersten ebene mit ordnern und dateien zumüllt statt EINEN EINHEITLICHEN ordner zu nutzen, wir das andere systeme auch tun. Ich muß ewig scrollen und finde die wichtigen ordner nicht mehr. Kann man mit root rechten einen standardordner festlegen, wie z.b. /sdcard/.appdata [...]

Installierst Du Deine Apps auf der SD-Karte? Ich habe dies noch nie gemacht, daher kann ich dazu nichts sagen. Ansonsten gibt es einen einheitlichen Ordner, in den alle Programme installiert werden und wo sie ihre Daten hin ablegen (/data). Auf diesen Ordner kann man üblicherweise nicht mit dem Dateibrowser eines PCs zugreifen.

Haben die Apps allerdings das Recht, auf die SD-Karte zu schreiben, gilt dies für die gesamte SD-Karte. Und eigentlich ist dann die App schuld und nicht Android. Das heißt es wäre auch sinnvoll, din der App nach Einstellungen zu suchen, bzw. den Entwickler zu kontaktieren.


Nun zur eigentlichen Fragestellung. Mit Rootrechten sollte es über einen Trick eigentlich gehen, dass die Apps standardmäßig nicht in das Rootverzeichnis dessen schreiben, was im PC als SD-Karte erkannt wird. Ich selber habe kein gerootetes Handy und kann die praxistauglichkeit der Lösung daher nicht überprüfen.
1. Den Mountpoint der SD-Karte ändern (ich glaube, in Datei /etc/fstab.vold).
2. Sicherstellen, dass bei Verbindung mit PC trotzdem noch die SD-Karte im PC gemounted (=eingebunden) wird. Evtl. ist in diesem Schritt nichts zu tun, das können vielleicht andere User beantworten.
3. Gewünschtes Verzeichnis auf SD-Karte anlegen.
4. Symlink unter Namen /sdcard auf das gewünschte Verzeichnis auf der SD-Karte anlegen
 
JanF schrieb:
Installierst Du Deine Apps auf der SD-Karte?

Nein, ich denke das ist nicht was winter damit gemeint hat. Ich vermute er bezieht sich auf die Folder die gewisse Apps auf der SD anlegen um Configs, Parameter oder ähnliches zu speichen.

Beispiel: /mnt/sdcard/opera ... wo cache dateien abgelegt werden.

Wenn man viele apps hat kommen schon ein paar von den ordnern zusammen.
Daher vermute ich das der Ort wo die Ordner erstellt werden in den Apps selbst definiert ist. Man müsste schon irgendwie den Ort der sdcard ändern (vielleicht so wie von JanF vorgeschlagen... wenn's so funktioniert...) um das zu verhindern.
 
Wenn man ein Betriebssystem so aufbaut, daß der Benutzer keinen Zugriff auf das Dateisystem hat, wäre es aber nötig, daß man den Dateien Tags vergeben kann, wie z.B. Arbeit, Urlaub, Einkauf, Anleitungen... Sonst verliert man bei 100 Word dokumenten irgendwann den Überblick. So wäre das sogar noch sinnvoller als die gewohnte Verzeichnisstruktur. Aber das ist so weit ich es überblicke nirgends implementiert.

Richtig: ich meinte die Ordner, die die Programme munter auf SD anlegen. Ob das jetzt wirklich die Ordner sind, in denen die auf SD installieren Programme liegen oder nur zusätzliche Ordner in denen die Programme irgendwas ablegen, da blick ich im Moment nicht ganz durch.

Sich an die Programmierer zu wenden wäre recht zwecklos. 1. scheint sich da noch keine einheitliche Struktur durchgesetzt zu haben, was ein anständiger installationsordner ist. Einige versuchen es ja, ihre Software entsprechend zu programmieren. Aber dann hat jeder einen andern klugen Einfall und nachher habe ich doch wieder zig Ordner. 2. gibt es so viele Programme, daß man wahrscheinlich einen eigenen Verein gründen müßte in dem 3 Hauptberufliche Lobbyarbeit betreiben, damit sich da flächendeckend was ändert. ;-)
Ich bleibe dabei: sowas sollte eigentlich von einem ernstzunehmenden Betriebssystem durch entsprechende Berechtigungen in geordnete Bahnen gelenkt werden und nicht jedem einzelnen Programmierer überlassen bleiben.

Symlinks sind ein guter Einfall. Bin gestern auch darauf gestoßen. Leider können sie nicht angelegt werden (Fehlermeldung) und andere haben die gleichen Probleme. Hier und da findet man infos, daß es nicht möglich sei einen Symlink von FAT auf FAT zu setzen. Mit den Mountpoints hatte ich gestern auch schonmal ansatzweise rumgespielt, allerdings ohne sichtbare Erfolge. Entweder das ist auch keine gangbare Lösung oder ich hab da was falsch gemacht. Seit meinem Experiment sehe ich bei jedem Booten ein SD-Symbol mit Zahnrad bei den Benachrichtigungen, obwohl ich den neu gesetzten Mountpoint wieder auskommentiert habe.
 
Zuletzt bearbeitet:
herr.winter schrieb:
Ich bleibe dabei: sowas sollte eigentlich von einem ernstzunehmenden Betriebssystem durch entsprechende Berechtigungen in geordnete Bahnen gelenkt werden und nicht jedem einzelnen Programmierer überlassen bleiben.

Die SD-Karte ist FAT-formatiert, und das aus guten Gründen, denn Du sie ist dann zu allen OS kompatibel. Das bringt leider mit sich, dass darauf keine Rechteverwaltung möglich ist, denn FAT kennt so was nicht. Also kann jede App mit SD-Rechten überallhin dort schreiben.

In den Android-Richtlinien ist sehr wohl ein Platz vorgesehen, wo sich Apps austoben sollen, es ist /sdcard/Android/data/<Java-Name>. Nur hält sich keiner daran.

herr.winter schrieb:
Hier und da findet man infos, daß es nicht möglich sei einen Symlink von FAT auf FAT zu setzen.

FAT kennt weder Rechte noch Symlinks. Symlinks nach FAT lassen sich auf anderen Dateisystemen unterbringen, /sdcard ist meistens nur ein Symlink nach /mnt/sdcard. Aber von FAT aus ist kein Symlink möglich, dazu ist dieses Dateisystem zu doof/alt.

Der Wildwuchs auf der Speicherkarte ist ein Problem der App-Entwickler. Ich glaube nicht, dass es sich lohnt, da nachträglich etwas zu machen, nur dass es aufgeräumter darauf aussieht. Das ist ein Kampf gegen Windmühlen.
 
mizch schrieb:
In den Android-Richtlinien ist sehr wohl ein Platz vorgesehen, wo sich Apps austoben sollen, es ist /sdcard/Android/data/<Java-Name>. Nur hält sich keiner daran.
***
Der Wildwuchs auf der Speicherkarte ist ein Problem der App-Entwickler. Ich glaube nicht, dass es sich lohnt, da nachträglich etwas zu machen, nur dass es aufgeräumter darauf aussieht. Das ist ein Kampf gegen Windmühlen.

Ich sehe das eigentlich genauso, das ist ungefähr so als wurde man unter Windows ein Programm installieren wollen und der Entwickler hat im Setup keine Möglichkeit zum ändern des Dateipfads integriert.

Es wäre sicher kein Problem für App-Entwickler irgendwo einen einstellbaren Pfad zu definieren wo derer Apps dann ihre Daten ablegen können. Leider tut das keiner, obwohl das sicher eine tolle Sache wäre.

Hängt halt davon ab wie's der App-Entwickler machen. Opera Mobile zum Beispiel hat den cache auf /mnt/sdcard/opera, während zum Beispiel KeypassDroid seine cache-Dateien unter /data/dalvik-cache lagert.
 
Zuletzt bearbeitet:
mizch schrieb:
Die SD-Karte ist FAT-formatiert, und das aus guten Gründen, denn Du sie ist dann zu allen OS kompatibel. Das bringt leider mit sich, dass darauf keine Rechteverwaltung möglich ist, denn FAT kennt so was nicht. Also kann jede App mit SD-Rechten überallhin dort schreiben.

In den Android-Richtlinien ist sehr wohl ein Platz vorgesehen, wo sich Apps austoben sollen, es ist /sdcard/Android/data/<Java-Name>. Nur hält sich keiner daran.

Ok, daß FAT da seine Begrenzungen hat ist ja einsichtig und erklärt auch warum die Symlinks (und wahrscheinlich auch die Mounts wie ich sie machen wollte) nicht funktionieren können.
Aber schrei wenn ich mich irre, ich bin da kein Experte: Soweit ich die Sache mit den Berechtigungen verstanden habe, ist das doch nur ein entsprechender Eintrag im Dateisystem, ob Anwendung (oder User) x auf Ordner y Lese- und/oder Schreibrechte hat. Interpretiert wird das alles vom Betriebssystem und wenn das sich entschließt, die Berechtigungen zu ignorieren, dann haben sie keine Wirkung. Also müßte doch auch das betriebssystem sagen können: Oh, da will ein Programm auf Ordner y im FAT System schreiben. Das will ich nicht, da sag ich einfach mal NEIN.

Ich komme aber langsam zu der einsicht, daß es sinnlos ist, da was ändern zu wollen. :-(
 
OK, gehen wir das Problem mal anders an:
ich bin mittlerweile dem Rat von jna gefolgt und habe im Root der SD ein Verzeichnis !Daten angelegt, in dem jetzt fast alle Dateien stehen, auf die ich vom PC aus zugreifen will. Nur die Verzeichnisse für Screenshots und Kameraaufnahmen ligen noch unter /dcim. Weiß jemand, wie ich das umbiegen kann?
 
herr.winter schrieb:
Aber schrei wenn ich mich irre, ich bin da kein Experte: Soweit ich die Sache mit den Berechtigungen verstanden habe, ist das doch nur ein entsprechender Eintrag im Dateisystem, ob Anwendung (oder User) x auf Ordner y Lese- und/oder Schreibrechte hat.

In FAT gibt es keinen solchen Eintrag, da ist schlichtweg kein Platz dafür vorgesehen. Dateien auf der Speicherkarte gehören allesamt einem einzigen User (der, unter dem gemounted wurde).
 
herr.winter schrieb:
Aber schrei wenn ich mich irre, ich bin da kein Experte: Soweit ich die Sache mit den Berechtigungen verstanden habe, ist das doch nur ein entsprechender Eintrag im Dateisystem, ob Anwendung (oder User) x auf Ordner y Lese- und/oder Schreibrechte hat. Interpretiert wird das alles vom Betriebssystem und wenn das sich entschließt, die Berechtigungen zu ignorieren, dann haben sie keine Wirkung. Also müßte doch auch das betriebssystem sagen können: Oh, da will ein Programm auf Ordner y im FAT System schreiben. Das will ich nicht, da sag ich einfach mal NEIN.

Im Grunde stimmt es was Du schreibst. Aber es FAT bietet nicht die Möglichkeit die Rechte einer Datei mitzuspeichern. Wenn Du die Zugriffsrechte im System speichern wolltest, müsstest Du die für jede SD Karte tun und hast dann immer noch Probleme, wenn die SD-Karten in anderen Geräten eingelegt werden - folglich ist es quatsch Linux Zugriffsrechte auf FAT zu übertragen.


Leider habe ich bei meiner Überlegung nicht daran gedacht, was einer Anwendung mitgeteilt wird, wenn sie das getExternalStorageDirectory () anfragt (oder ähnliches, um Zugriff aufs Dateisystem zu erhalten. Ist dies immer der Mountpoint, dann ist jegliche weitere Suche nach einer Lösung für Dein Problem sinnlos. Andernfalls würde ein ändern der entsprechenden Variablen helfen.
Mit Symlinks ginge es in dem Fall auch, wenn Du den Symlink "/sdcard" auf ein Unterverzeichnis Deiner SD-Karte setzt und nicht auf /mnt/sdcard .
Unerwünschte Seiteneffekte können dabei aber immer auftreten, je nach dem, ob Apps mit absoluten oder relativen Pfaden arbeiten. Wenn eine App funktioniert muss eine andere nicht zwingend auch funktionieren.
 
  • Danke
Reaktionen: herr.winter
Ich meinte auch nicht, daß man für jeden Ordner des FAT-Systems extra die berechtigungen abspeichert. Meine überlegung ging in die Richtung, daß Android wärend der Installation eines Programms das Schreiben auf alle Verzeichnisse außer dem oben genannten /sdcard/Android/data/<Java-Name> untersagt oder die komplette Installation verweigert. Oder aber daß alle Zugriffe einfach standardmäßig auf das jeweils standardkonforme Verzeichnis umgeleitet werden, was allerdings zu Problemen führen könnte, wenn man z.B. eine Textdatei im Root bearbeiten will. Aber da ließe sich bestimmt ne Lösung finden. Auf diese weise würden Entwickler gezwungen werden, Ordnung zu halten. Aber da müßte Google selbst ran.

Das komplette Umlegen des Mountpoints ist mir dann doch zu kritisch. Hätte ja dann auch Auswirkungen darauf, wo die Fotos gespeichert werden und was weiß ich noch alles. Da würde ich glaub ich den Teufel mit dem Belzebub austreiben.

Ein unter Umständen auch für Andere interessantes Programm, das ich eben gefunden habe, ist SD Maid. Es beseitigt zumindest schonmal die leeren Verzeichnisleichen von deinstallierten Programmen und schafft so ein Bißchen Ordnung.

Wenn ich jetzt noch rauskriege, wie man bei Kammera, Screenshot-Programm und ein paar anderen Sachen das Verzeichnis für neue Aufnahmen umlegt, könnte ich fast damit leben. ;-)
 

Ähnliche Themen

R
Antworten
11
Aufrufe
194
regn
R
A
Antworten
3
Aufrufe
291
swa00
swa00
Tenbagger
Antworten
1
Aufrufe
777
Tenbagger
Tenbagger
Zurück
Oben Unten