Die Android 5-SD-Karte ist schreibgeschützt. Den Pfad zur SD-Karte auf Android ermitteln

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Viele glückliche Besitzer von Geräten mit 4.4.2 „an Bord“ sind wahrscheinlich bereits auf das Problem gestoßen, dass die meisten auf dem Gerät installierten Anwendungen keine Daten auf eine Flash-Karte schreiben können. Laut Google gemacht, um das Android 4.4.2 KitKat OS zu einem sichereren System zu machen.

Einschränkungen beim Schreiben auf eine Flash-Karte gelten hauptsächlich für Anwendungen, die von Drittanbieterquellen installiert wurden. Und was am wichtigsten ist: Android 4.4.2 KitKat verbietet die Änderung von Dateien, die nicht in direktem Zusammenhang mit den Anwendungen stehen, die diese Änderung vornehmen möchten. Daher ist die Aufnahme auf eine SD-Karte nicht möglich.

In der Praxis bedeutet diese Einschränkung wörtlich: Standard-Instant Messenger, Bildbearbeitungsprogramme, Dateimanager verwenden! Denn wenn der Entwickler Ihrer Software nicht rechtzeitig reagieren und beispielsweise Ihrem Bildbearbeitungsprogramm ein Update hinzufügen konnte, sind alle Ihre bearbeiteten Fotos „live“, während der Bildbearbeitungsprogramm läuft – Sie können nicht mehr schreiben Ihre bearbeiteten Fotos auf die Karte!

Fortgeschrittenere Benutzer, die ständig Daten von einem Flash-Laufwerk auf einen Computer und zurück kopieren, können auf das folgende Problem stoßen: Der Computer erkennt Ihr „ “, sieht die Dateien, kann aber nichts damit anfangen – der Zugriff wird verweigert! Dieses Problem kann durch die Installation einer Anwendung auf Ihrem Gerät behoben werden, die den Zugriff auf ermöglicht. Diese Anwendung funktioniert jedoch nur auf ROOT-Geräten.


SDFix: KitKat Writable funktioniert einfach: Nach der Installation und dem Start der Anwendung klicken Sie auf Weiter, stimmen den Bedingungen zu und klicken erneut auf Weiter. Wenn die Superuser-Anwendung bereits auf Ihrem Gerät installiert ist, sollten Sie SDFix Zugriff auf die darin enthaltenen ROOT-Verzeichnisse gewähren.


SDFix KitKat Writable MicroSD ändert während seines Betriebs die Datei /system/etc/permissions/platform.xml, in der es Schreibberechtigungen zum Schreiben und Ändern von Dateien durch Anwendungen erhält, die über die Berechtigung WRITE_EXTERNAL_STORAGE verfügen. Ursprüngliches modifiziertes SDFix: KitKat Writable MicroSD-Datei Sie finden es unter dem Namen platform.xml.original-pre-sdfix. Anschließend können Sie jederzeit die Originaldatei wiederherstellen.

Für die „praktischsten“ Benutzer, die über ROOT-Zugriff auf ihrem Gerät verfügen, gibt es die Möglichkeit, Korrekturen vorzunehmen erforderliche Datei, ohne auf SDFix zurückzugreifen: KitKat Writable MicroSD.

Starten Sie dazu einen Dateimanager, der Dateien bearbeiten kann, suchen Sie die Datei „platform.xml“ unter /system/etc/permissions/ und öffnen Sie sie mit dem integrierten Editor.


Suchen Sie danach die Abschnitte android.permission.WRITE_MEDIA_STORAGE und android.permission.WRITE_EXTERNAL_STORAGE und fügen Sie in diesen Abschnitten die folgenden Codezeilen hinzu:







Speichern Sie anschließend die geänderte Datei im Editor.

Nach dem Neustart des Geräts werden alle unangenehmen Probleme gelöst, die mit der Unfähigkeit verbunden sind, Dateien auf der Flash-Karte zu schreiben und zu ändern.

Es ist fertig! Das Tablet, nämlich das Asus MeMO Pad 7, das ich durch meinen ehrlichen Fleiß ersetzt habe, hat ein Update auf Android 5.0.1 erhalten. Jetzt habe ich ein Gerät mit Lollipop, oder wie man im Internet sagt, mit Lollipop.


Das Update kam etwas unerwartet. Ehrlich gesagt habe ich im April gewartet neue Firmware telefonieren ( Asus ZenFone 5) - zumindest wurde es versprochen. Niemand hat etwas über das Tablet gesagt, und hier liegt es an Ihnen, es zu holen und dafür zu unterschreiben.

Das hat mich tatsächlich entmutigt (natürlich im positiven Sinne), auch weil ich das Tablet im Dezember gekauft habe und es Version 4.3 hatte. Das heißt, dies ist das zweite bedeutende Update Betriebssystem(Tatsächlich gab es weitere Updates, aber die Android-Versionsnummer änderte sich nicht.) Der bisherige Hersteller meiner Geräte – Samsung – konnte sich mit einer solchen Feuerrate nicht rühmen, obwohl er auch das Betriebssystem zweimal aktualisiert hat: von Android 3.2 auf Android 4.1.2 (über 4.0.1). Auf diese neuen Versionen mussten wir aber deutlich länger warten.

Nun, es lebe die Überraschungen! Erhalt der Austrittsmitteilung neue Version Firmware, ich habe sie sofort heruntergeladen, das sind mehr als 700 Meter, und das Update gestartet. Da ich nicht heruntergeladen habe Heimnetzwerk, und über ein Mobiltelefon dauerte es etwas länger, alles zu erledigen: Vom Start des Downloads bis zum Abschluss des Updates verging etwa eine Stunde. Das Update selbst dauerte etwa zwanzig Minuten, könnte aber möglicherweise länger dauern, da nach der Installation des Betriebssystems der Prozess der Aktualisierung der installierten Programme folgt. Mein Zähler hat bis 205 gezählt. Aber jetzt ist der Prozess abgeschlossen und es ist Zeit zu sehen, was sich geändert hat.

Das erste, was mir ins Auge fiel, war die anspruchsvollere Grafik beim Entsperren des Geräts. Die zweite ist die Hand im Benachrichtigungsbereich. Ich habe es ein paar Tage lang ertragen, in der Hoffnung, dass ich zufällig irgendwo etwas Ähnliches sehen würde. Ich habe es nicht gesehen. Dann begann ich gezielt zu suchen und fand auf 4pda eine Erklärung dafür. Es stellt sich heraus, dass Benachrichtigungen in wichtige und weniger wichtige unterteilt werden, und es ist möglich anzugeben, welche Benachrichtigungen Sie erhalten möchten. Wenn Sie die Option festlegen Immer benachrichtigen , dann verschwindet die Hand, wenn die Option aktiviert ist Nur wichtige Warnungen , dann erscheint die Hand. Ehrlich gesagt habe ich meine Hand mehrmals entfernt, aber aus irgendeinem Grund kommt sie immer wieder zurück. Warum? Ich weiß es noch nicht.

Hier ist tatsächlich das Verfahren zum „Entfernen“ dieser Hand:

Die oben beschriebene Methode ist überhaupt nicht kompliziert. Aber Sie können das Ergebnis noch schneller und einfacher erreichen: Drücken Sie eine der beiden Lautstärketasten – auf dem Bildschirm erscheint ein Fenster, in dem Sie die Lautstärke verschiedener Systemkomponenten ändern und auch, Achtung, steuern können Alarmmodi . Stimmt, aus irgendeinem Grund sind es dieselben Alarmmodi werden nicht immer so schnell angezeigt. Ich habe noch kein Muster gefunden, aber ehrlich gesagt habe ich auch nicht wirklich danach gesucht.

Ein paar Worte dazu installierte Programme. Obwohl ich vor dem Start des Update-Vorgangs eine Warnung erhielt, dass einige Programme gelöscht würden, da sie nicht in der neuen Firmware enthalten seien, blieben die meisten Programme dennoch erhalten.


Das Einzige, was mir ein wenig leid tut, ist das Programm mit dem untypischen Namen „Two Applications“. Obwohl ich zugeben muss, dass ich nicht einmal sofort verstanden habe, worum es ging: Ich dachte, welche beiden Anwendungen gelöscht würden, ob es wirklich unmöglich sei, die Namen anzugeben.

Ja, das Programm, das in Version 4.4.2 erschien und es ermöglichte, den Bildschirm zwischen zwei gleichzeitig laufenden Anwendungen zu teilen, ist in Vergessenheit geraten. Ehrlich gesagt war die Funktionalität eher schwach, da nur eine sehr begrenzte Anzahl von Anwendungen gleichzeitig ausgeführt werden konnte. Wenn ich mich recht erinnere, habe ich es nur ein- oder zweimal verwendet, nur um zu sehen, wie es war. Vielleicht wird jemand die Möglichkeiten verpassen, die dieses Programm bietet, aber irgendwie hat es mich nicht besonders aufgeregt. Obwohl ich es natürlich nicht wirklich mag, wenn sie mir wegnehmen, was sie mir vorher gegeben haben.

Noch ein paar Anmerkungen zu den Programmen. Nachdem ich auf ein neues Tablet umgestiegen bin, habe ich einige Zeit damit verbracht, darauf die Programme zu installieren, die ich auf meinem vorherigen Gerät verwendet habe. Einige davon sind passiert, aber darüber reden wir jetzt nicht. Wir sprechen über jene Programme, deren Verhalten etwas verändert hat. Natürlich habe ich noch nicht alles ausprobiert, aber hier ist, was ich bisher herausgefunden habe.

TuniIn Radio Pro, das ich übrigens gekauft habe, funktionierte auf KitKat absolut nicht. Alles verlief reibungslos – bis die Wende direkt zum Hören eines Radiosenders kam. Das heißt, das Programm wurde gestartet, ich habe eine Gruppe von Radiosendern ausgewählt, zum Beispiel lokale Radiosender, einen bestimmten Sender ausgewählt (zum Beispiel RockFM, Radio Jazz oder einen beliebigen Sender im Allgemeinen), woraufhin das Programm mit einem Absturz abstürzte Fehler. Manchmal gab es sogar Ton, aber das Programm stürzte trotzdem ab. Die Zeit verging, TuneIn Radio-Updates wurden veröffentlicht, aber es änderte sich nichts. Nach dem Update auf A verschwanden die Probleme jedoch wie von Zauberhand und jetzt funktioniert alles ohne die geringsten Beanstandungen.

Eine weitere positive Veränderung - Bürosuite SoftMaker Office HD, ebenfalls ehrlich gekauft. Die darin enthaltenen Programme funktionierten auf dem Samsung-Tablet normal. Als ich diese Programme auf einem neuen Tablet installierte, starteten sie überhaupt nicht. Nach einiger Zeit wurde ein Update für dieses Büro veröffentlicht und die Situation verbesserte sich etwas: Programme wurden gestartet, während des Betriebs sammelten sich jedoch einige seltsame Grafikartefakte im Menübereich (oberste Zeile des Programmfensters). Beim Wechsel zum Desktop (oder einer anderen Anwendung) und zurück verschwanden die Artefakte, allerdings nicht für lange. Nach Android-Updates Alle im Paket enthaltenen Programme funktionieren wie am Schnürchen.

Nun ja, ein kleiner negativer Punkt. Ich nutze sehr aktiv ein Programm namens DVR. Ich habe auch Geld dafür bezahlt. Das Programm funktionierte auf dem neuen Tablet einwandfrei, es gab keine Beanstandungen, außerdem funktionierten Funktionen, die auf dem vorherigen Tablet nicht verfügbar waren, zum Beispiel die Videostabilisierung. Nach der Aktualisierung des Betriebssystems begann das Programm beim Starten der Aufnahme ständig abzustürzen. Zuerst dachte ich, dass es Probleme mit der Aufnahme auf die Speicherkarte gäbe – ich war so konfiguriert, dass ich in das Programmverzeichnis auf einer externen MicroSD-Karte schreiben konnte. Nachdem ich jedoch im Programm selbst ein Unterverzeichnis im Aufnahmeverzeichnis erstellen konnte, wurde klar, dass die Verwendung einer externen Karte nichts damit zu tun hatte. Dann beschloss ich, jeweils eine Programmfunktion zu deaktivieren, und das erste, was mein Finger berührte, war das Kontrollkästchen mit dem Stabilisierungs-Kontrollkästchen. Nach dem Ausschalten der Option begann das Programm mit der Videoaufzeichnung, deren Qualität jedoch abnahm. Nein, die Auflösung und die Durchflussrate – alles blieb beim Alten, aber das Bild auf der Aufnahme schwebte in Wellen. Es gibt eine Einstellung im Programm, die versucht, diesen Effekt zu glätten, und im Prinzip hilft das Einschalten etwas, aber aus irgendeinem Grund bleibt beim erneuten Aufrufen des Programms die Markierung, dass die Option aktiviert ist, aber die Das Bild schwebt, als ob die Option deaktiviert wäre. Wenn Sie auf eine bereits aktivierte Option klicken, wird alles sofort wieder normal. Höchstwahrscheinlich handelt es sich hierbei um einen Fehler im Programm. Ich werde ihn dem Entwickler melden und vielleicht wird der Autor diesen Fehler beheben. Etwas ärgerlich ist allerdings die Tatsache, dass die Videostabilisierung nicht funktioniert. Erstens, weil das Standard-Kameraprogramm über eine Stabilisierungsoption in den Einstellungen verfügt und bei eingeschalteter Funktion die Aufnahme fehlerfrei erfolgt.

Von Sonderfällen im Zusammenhang mit Programmen werde ich zu allgemeineren Eigenschaften des Systems übergehen. Nun, erstens hat sich die Menge an freiem Speicher erhöht. Wie ich bereits schrieb, blieb meine gesamte Software bestehen. Gleichzeitig muss ich sagen, dass ich das Tablet ziemlich stark beanspruche. Nicht in Bezug auf die Tatsache, dass ich ständig Spiele spiele, sondern in Bezug auf die Tatsache, dass ich viele Dienste habe, von denen ich einige möglicherweise nicht nutze, die ich aber für alle Fälle behalte. Wir sprechen zunächst über alle Arten von Mailern – Outlook, Yandex Mail, GMail, genauer gesagt, jetzt Inbox. Als nächstes verschiedene Cloud-Speicher- Yandex Disk, OneDrive, Google Drive, Dropbox, Box, Asus WebStorage. Paar soziale Netzwerke- Odnoklassniki und Google+. Alle möglichen anderen Messenger – Viber, ICQ, Skype, Hangouts. Alle diese Programme verbrauchen auf die eine oder andere Weise den Speicher des Geräts, selbst wenn Sie sie nicht verwenden. Aber im Prinzip verstehe ich, worauf ich mich einlasse.

Nutzer von Asus-Geräten wissen, dass es im Android-Vorhang eine Anwendung gibt, mit der man den Speicher zumindest vorübergehend löschen kann. In den Top 5 heißt es „Cleaning“, aber in KitKat wurde es fantasievoller „Stärkung“ genannt. Wenn Sie den Vorhang öffnen, zeigt das Symbol dieser Anwendung die Menge des freien Speicherplatzes an. dieser Moment Erinnerung. Wenn also die Android-Version 4.4.2 auf dem Tablet installiert war, schwankte dieser Wert im Bereich von 200–300 MB und das Symbol war meistens gelb. Jetzt variiert die Menge an freiem Speicher zwischen 400 und 600 MB und das Symbol ist fast immer grün. Diese Änderung ist wahrscheinlich auf die Änderung zurückzuführen virtuelle Maschine, wird in Lollipop verwendet, aber vielleicht hat sich etwas an der Firmware selbst geändert, zum Beispiel hat Asus etwas entfernt. Im Allgemeinen müssen wir es herausfinden.

Der Wechsel der virtuellen Maschine hätte sich auf zwei weitere Parameter auswirken sollen – Leistung und Stromverbrauch. Was kann ich zur Leistung sagen? Wahrscheinlich nichts. Ich spiele nicht mit Spielzeug, ich konkurriere nicht wirklich gerne mit Papageien (Antutu usw.). Das Tablet selbst ist ziemlich leistungsstark, sodass ich weder bei KitKat noch jetzt bei Lollipop irgendwelche Verlangsamungen bemerkt habe. Alles läuft reibungslos und ohne Beanstandungen. Wenn ich fahre, funktionieren DVR, Strelka, Maps (entweder Yandex oder Google), ich höre auch Musik mit Kodi, und nach all dem reagiert es immer noch auf den Wechsel zum Desktop und startet im Allgemeinen einige andere Programme , sind ein Biest.

Und was den Energieverbrauch betrifft ... Im Grunde hat mir das neueste KitKat-Update die Möglichkeit genommen, mich über die Ineffizienz des Geräts zu beschweren. Wenn das Tablet nach der Erstinstallation von KitKat pro Nacht 20 bis 30 Prozent seiner Energiereserven verlor, wurden die Verluste nach dem Update auf die 31. Firmware-Version durchaus akzeptabel – von zwei bis fünf Prozent pro Nacht. Das Update auf Lollipop hat in dieser Hinsicht keine Verschlechterung gebracht, und vielen Dank dafür. Was den Verbrauch unter Last angeht, kann ich hier noch einmal Betriebserfahrungen im Auto anführen: alle die gleichen Anfangsgeräte – DVR, Strelka, Yandex Navigator, Kodi, die Bildschirmhelligkeit liegt bei etwa 75-80 Prozent – ​​ein heller, sonniger Tag, dazu alles drahtlos Schnittstellen sind eingeschaltet, sodass der Akku während der Fahrt – etwa zwei Stunden – auf 57 Prozent entladen war. Meiner Meinung nach durchaus würdig. Unter KitKat war es übrigens ungefähr das Gleiche.

Nun, das Letzte – in der Reihenfolge aufgelistet, aber nicht in der Reihenfolge der Wichtigkeit – möchte ich anmerken. Wir werden über die Arbeit mit einer externen Speicherkarte sprechen. Ich, als ich aus der Situation herauskam, die durch die Einschränkungen von KitKat beim Aufzeichnen auf eine externe Speicherkarte verursacht wurde. Offenbar war die Welle der Negativität so stark, dass Google zuhören und etwas ändern musste. Oder vielleicht haben sie einfach etwas geändert, ohne auf irgendjemanden zu hören. Aber lassen wir diese wichtige Frage beiseite (haben wir zugehört/nicht zugehört) und gehen wir zu den Veränderungen selbst über.

Google erlaubt Programme von Drittanbietern auf die Speicherkarte schreiben. Grundsätzlich habe er es vorher nicht verboten, nur seien die Genehmigungen so erteilt worden, dass, wenn normale Bedingungen, hatte nur der native Dateimanager Schreibzugriff auf die gesamte externe Karte. Nun, vielleicht haben einige Hersteller den Zugriff auf ihre anderen Programme erlaubt, aber ich bin nur auf den Dateimanager gestoßen. Jetzt kann jedes Programm schreiben, allerdings müssen dafür mehrere Bedingungen erfüllt sein.

Erstens muss das Programm die neuen Funktionen des Storage Access Framework nutzen, nämlich die Absicht OPEN_DOCUMENT_TREE und mehrere neue oder aktualisierte SDK-Funktionen.

Zweitens muss der Benutzer selbst entscheiden, zu welcher Filiale (oder Filialen) er gehen möchte. Dateisystem Es ermöglicht den Zugriff auf die eine oder andere Anwendung. Das heißt, Sie können Zugriff auf die gesamte Karte gewähren, wenn Sie als Antwort auf eine Zugriffsanfrage deren Stammverzeichnis angeben, oder Sie können Zugriff nur auf einen bestimmten Ordner und dessen Ordner gewähren untergeordnete Elemente. Im Allgemeinen müssen Sie die Verantwortung für sich selbst übernehmen und wenn etwas passiert, sind Sie auch selbst dafür verantwortlich.

An dritter Stelle steht Glück. Auf meinem Tablet funktionierte alles wie es sollte, auf dem meines Freundes HTC One M8 - funktionierte nicht, obwohl online Gibt es ein Video?, wie bei diesem Smartphone-Modell alles super funktioniert. Es besteht jedoch die Vermutung, dass es nicht funktioniert hat, weil die Karte in seinem Telefon irgendwie falsch formatiert war, möglicherweise ohne Angabe des Datenträgernamens oder möglicherweise im falschen Dateisystem.

Tatsächlich ist dies eine freudige und traurige Nachricht zugleich. Freudig – denn jetzt musst du nicht mehr empfangen Root-Zugriff auf das Gerät und Sie können nicht nur auf das Anwendungsverzeichnis beschränkt sein. Traurig – denn bis die Entwickler sich dazu herablassen, die neue API zu nutzen und neue Versionen ihrer Programme zu veröffentlichen, wird nichts funktionieren. Meiner Erfahrung nach: Dateimanager Der ES Explorer hat bereits Unterstützung für die neue API erhalten und ich konnte ihm Schreibrechte für die gesamte externe SD-Karte geben, aber der Total Commander-Dateimanager konnte und kann nicht auf die MicroSD-Karte schreiben – nirgendwo außer in sein eigenes Verzeichnis. So.

Tatsächlich gibt es in dieser ganzen Geschichte mit der Aufnahme auf eine externe Speicherkarte viele Nuancen. Beispielsweise haben Sie einigen Programmen Zugriff gewährt, andere jedoch vergessen. Wo suchen? So wie ich es verstehe, derzeit - nirgendwo. Das heißt, Sie können es im Prinzip ansehen, jedoch nicht auf dem Tablet selbst, sondern auf dem Computer, wenn Sie das Tablet daran anschließen und verwenden ADB-Programm. Hier ist der Befehl, den Sie benötigen:

ADB-Shell-Dumpsys-Aktivitätsanbieter

Aber ich habe nicht herausgefunden, wie ich dasselbe auf einem Tablet hinbekomme.

Nächste Frage. Sie haben einer Anwendung Zugriff zum Schreiben in einen Ordner gewährt, haben es sich dann aber anders überlegt und möchten den Zugriff entziehen. Gibt es eine solche Möglichkeit? Zum Glück ja. Aber mit Verlusten. Die erste, sehr radikale Möglichkeit besteht darin, das Programm zu entfernen und neu zu installieren. Die zweite Methode ist nicht so radikal, aber auch nicht ideal – Sie müssen die Anwendungsdaten in den Geräteeinstellungen löschen. Natürlich werden neben den Zugriffsrechten auch andere Programmdaten gelöscht, so dass sich logischerweise die Frage nach der praktischen Anwendbarkeit stellt diese Methode. Es war vielleicht noch nicht möglich, andere Methoden zu entdecken. Sie können beide Methoden verwenden, wenn Sie zunächst die Programmdaten sichern und diese dann wiederherstellen, nachdem Sie eine der Methoden in Kraft gesetzt haben. Hier stellt sich jedoch die Frage nach den Möglichkeiten von Backups: Werden nur Daten gesichert oder Daten zusammen mit Berechtigungen? Wenn mit Berechtigungen, dann nach der Wiederherstellung, nun ja, Sie verstehen ... All dies hängt stark von den spezifischen verwendeten Anwendungen ab, daher sollten Sie sehr vorsichtig sein. Und das ist ein weiterer guter Grund, darüber nachzudenken, bevor Sie das alte Moskau sehen, ohne die Zustimmung der zuständigen Behörden jedem Antrag Rechte auf Zugriff auf das Dateisystem einer externen Karte zu gewähren.

Außerdem. Was passiert, wenn Sie die in den Steckplatz Ihres Tablets eingelegte Karte wechseln? Die Antwort ist, dass Sie den Zugriff auf jede Karte, die Sie in das Gerät einlegen, separat gewähren müssen. Im Prinzip ist das wohl logisch. Das heißt, Sie haben dem Dateimanager Zugriff auf das Stammverzeichnis der Karte gewährt, diese dann herausgenommen und eine andere eingesetzt. Der Dateimanager schreibt nicht auf die neue Karte; Sie müssen den Zugriff erneut gewähren. Wenn Sie jedoch die erste Karte wieder in das Tablet einlegen, schreibt der Dateimanager problemlos darauf.

Noch eine Frage. Sie haben der Anwendung also Zugriff auf einen Ordner gewährt, nicht auf den Stammordner. Die Zeit verging und Sie mussten den Schreibzugriff auf dasselbe Programm in einem anderen Ordner auf derselben Karte zulassen. Kann das gemacht werden? Im Prinzip ist dies eine Konsequenz aus dem vorherigen Fall, daher lautet die Antwort: Ja, es ist möglich. Das heißt, das System merkt sich für jede Anwendung die Liste der Verzeichnisse, denen Sie Schreibzugriff gewährt haben.

Jetzt gibt es eine Nuance im Zusammenhang mit den auf dem Tablet installierten Anwendungen für jeden Benutzer, dessen Profil auf dem Gerät erstellt wurde. Auch hier ist alles logisch – für jeden Benutzer des Geräts sind eigene Zugriffsrechte auf Anwendungen hinterlegt, das heißt jeder ist der Architekt seines eigenen Glücks, oder wenn man so will, seines eigenen bösen Pinocchio.

Und natürlich hängt viel von der Qualifikation der Entwickler ab. Es kann vorkommen, dass Sie einem Programm Rechte erteilen, um zum Schreiben auf die externe Karte zuzugreifen, und nach dem Neustart des Tablets feststellen, dass kein Zugriff mehr möglich ist. In einer solchen Situation ist allein der Programmentwickler schuld – er hat nicht darauf geachtet, die erhaltene Erlaubnis einzuhalten. Vielleicht sollten Sie darüber nachdenken und nach einer Alternative zu diesem Programm suchen, denn man weiß nie, was ein solcher Programmierer nicht vorgesehen hat.

Oh ja, so sieht der Prozess der Vergabe von Aufnahmerechten für eine microSD-Karte für ES Provodnka aus:

Wir brauchen eine externe Karte

Versuchen wir, direkt im Stammverzeichnis der Karte etwas zu erstellen






Wir müssen die SD-Karte anzeigen


Hier ist sie, unsere externe Speicherkarte



Nun, das ist es für den Moment.

P.S. Zufälligerweise ist ziemlich viel Zeit vergangen, seit ich dieses Material geschrieben habe. Ich hätte es schon oft veröffentlichen können, aber ich habe es immer wieder aufgeschoben, und es ist unklar, warum. Genauer gesagt, ich weiß warum – ich überlegte immer noch, wie ich eine Reihe von Screenshots, die einen bestimmten Prozess beschreiben, am besten präsentieren könnte: einfach als Folge eingefügter Bilder oder als Diashow. Letztendlich wurde die Entscheidung getroffen, (zumindest vorerst) eine Bildfolge zu verwenden. Wie das alles passiert ist, ist ein Thema für einen separaten Beitrag. Im Moment bleibt alles so wie es ist, schade ist nur, dass viel Zeit verschwendet wurde. Der einzige Trost ist, dass es nicht umsonst war. Darüber hinaus ereignete sich ein erfreuliches Ereignis. Ich habe in diesem Beitrag geschrieben, dass der Zugriff auf eine externe Speicherkarte erst verfügbar sein wird, wenn Programmautoren beginnen, die neue API zu verwenden. Als Beispiel für ein Programm, in dem die neue API nicht verwendet wird, habe ich angegeben Totaler Kommandant. Während ich die Veröffentlichung hinauszögerte, wurde Total Commander aktualisiert und funktioniert jetzt auch mit einer externen Speicherkarte im Android-Lollipop-Stil. Nachfolgend stelle ich eine Reihe von Screenshots bereit, die den Vorgang der Erstellung eines neuen Verzeichnisses im Stammverzeichnis einer externen Speicherkarte mit Total Commander beschreiben:

Auswahl einer externen Speicherkarte
und wählen Sie das gewünschte Element aus dem Menü aus
Das ist wahrscheinlich alles für den Moment.

Ich kaufte neues Telefon Samsung Galaxy S5 und stieß sofort auf ein Problem im Operationssaal Android-System. Genauer gesagt, Version Android 4.4 KitKat. Diese Version von Android eingeführt neue Funktion Google-Entwickler.

Anwendungen wird jetzt der Zugriff auf Bearbeitungsdateien auf der SD-Karte verweigert!Dies führt dazu, dass einige Anwendungen nicht funktionieren!

Ich sage Ihnen, wie Sie dieses Problem umgehen können!

Guten Tag, liebe Leser unseres Blogs!

Neulich habe ich mir ein neues Telefon gekauft! Samsung Galaxy S5!

Viel Spaß mit Ihrem neuen Telefon

Ich gratuliere mir selbst zu einem erfolgreichen Kauf, von dem ich schon seit mehreren Jahren träume! Das Telefon erwies sich als bemerkenswert schnell, leistungsstark, schön und praktisch!

Zuvor hatte ich bereits ein HTC-Telefon (ca. 4-5 Jahre alt) mit Android-System. Eines der ersten Telefone mit einem solchen System (zum Zeitpunkt des Kaufs). Ich habe es in- und auswendig studiert, das System mehrmals neu geflasht und mich für die Android-Firmware entschieden, die der damaligen offiziellen Version in ihrer Funktionalität weit überlegen war.

Für diejenigen, die es nicht wissen: Das Flashen ist ein Ersatz für das Betriebssystem des Telefons. Nun, das ist es auch schon Windows neu installieren auf dem Computer.

Es ist viel Zeit vergangen, viele Versionen von Android wurden veröffentlicht (zum Zeitpunkt des Kaufs hatte ich Android 2.2). Die neuen Versionen und die Telefone, auf denen sie installiert wurden, sind meinem alten Smartphone deutlich überlegen. Daher war ich von der Leistung, Geschwindigkeit und Funktionalität sehr überrascht.

Ich habe es ungefähr 4 Tage lang genossen. Dann bin ich auf ein Problem gestoßen!

PROBLEM! Das Dateisystem verbietet das Bearbeiten der Datei!

Nach dem nächsten Update wurde das Betriebssystem des Telefons selbst auf Android 4.4 aktualisiert.

Stellen Sie sich meine Überraschung vor, als ich auf meinem eigenen Telefon keine einzige Datei bearbeiten konnte! Zuerst habe ich Pannen begangen, ich habe eingecheckt verschiedene Ordner, habe versucht, die Datei vom Computer aus zu bearbeiten (durch Anschließen des Kabels an das Telefon). Es gab keine Möglichkeit, die Dateien zu bearbeiten!

Nachdem ich mir die Informationen zum Betriebssystem in den Einstellungen – Über das Gerät – SE Status für Android angesehen hatte, sah ich das Wort „Enforcing“.

Das ist Code Wort Google bezeichnet eine Version von Android, bei der die Anwendungsrechte auf der Ebene des Betriebssystemkerns eingeschränkt sind! EMAE! Nun, ich habe es verstanden!

Ich wandte mich an das Internet, um das Problem zu lösen

Folgendes habe ich gefunden:

X Mir ist gerade aufgefallen, dass mein Telefon völlig neu ist und eine Herstellergarantie von 5 Jahren hat!

Wenn Sie Root-Zugriff (Administratorrechte im Android-System) erhalten, entfällt die Garantie des Herstellers (Samsung). Tatsächlich behaupten einige Hackerseiten, dass es spezielle Methoden gibt, um den Werkszähler in seine ursprüngliche Position zurückzusetzen. Der Werkszähler wird auf Null zurückgesetzt, wenn Root-Zugriff erlangt wird. Dies zeigt dem Serviceunternehmen an, dass das Telefon gehackt wurde und nicht unter die Garantie fällt.

Um diesen Zähler zu beeinflussen, müssen Sie das Telefon zerlegen und in die Chips gelangen. Fallen Sie daher nicht auf solche Täuschungen herein!

Wenn Sie Root-Zugriff erhalten, erlischt Ihre Garantie! Getestet auf meinem alten Telefon!



In der neuen Version von Android 5.0 verwendet Google eine andere Logik, um den Zugriff auf externe SD-Speicherkarten zu blockieren.

1. Wie funktioniert die neue Logik?

Anwendungen werden in kompilierter Form auf dem System installiert. Das heißt, in einer startbereiten Form. Dies erhöht die Leistung, das Multitasking und reduziert den Batterieverbrauch.

Mit anderen Worten, zuvor gab es Verteilungsdateien im System ( Setup-Dateien) und das System hat die Anwendung beim Starten vor dem Start kompiliert. Mit anderen Worten: Die Dateien wurden gepackt, während die Anwendung ausgeführt wurde, wurden die Dateien entpackt und gestartet.

Jetzt werden in Android 5.0 alle Anwendungen in kompilierter, entpackter Form installiert. Dies führt dazu, dass Anwendungen mehr Speicherplatz beanspruchen, aber schneller ausgeführt werden!

2. Wozu führt das?

  1. Zugriffsrechte werden der Anwendung WÄHREND DER INSTALLATION zugewiesen!
  2. Der Benutzer hat das Recht, während der Installation die Rechte für eine bestimmte Anwendung festzulegen.
  3. Der Benutzer kann die Berechtigungen der Anwendung ändern. Wenn Sie beispielsweise einem Programm vertrauen, können Sie ihm erlauben, Dateien auf einer externen Speicherkarte zu bearbeiten.

Ich möchte Android auf Version 5.0 aktualisieren, um das Problem zu lösen!

Wenn ich die OFFIZIELLE Version des Betriebssystems aktualisiere, BEHALTE ICH DIE GARANTIE!

Aber ich brauche eine Android-Version für Russland (speziell für sie und nicht für ein anderes Land), um nicht darunter zu leiden in englischen Worten in der Schnittstelle.

Ich werde versuchen, sie zu finden.

Offizielles Supportprogramm Samsung-Handys Kies sagt, mein Telefon sei auf aktualisiert letzte Version Von.

Ich habe auf den offiziellen Websites keine offiziellen Android-Updates (für unsere Region) gefunden.

Ich habe in den Foren Informationen gefunden, dass Google im Januar 2015 eine Firmware-Version für Russland veröffentlicht hat. Diese wird jedoch nur sehr langsam auf Kundengeräten implementiert.

So kann ich warten, bis mein Gerät eine Meldung erhält, dass es ein Software-Update gibt. Danach kann ich Android aktualisieren.

Bei der Entwicklung einer Wettbewerbsanwendung bin ich auf ein Datenbankspeicherproblem gestoßen. Das Problem war, wie ich die externe Speicherkarte identifizieren kann. Generell ergab eine Suche im Internet keine genaue Antwort. Daher habe ich alle gefundenen Ergebnisse kombiniert und meine Klasse zusammengestellt. Wenn jemand Interesse hat, schauen Sie unter dem Schnitt nach.

Beginnen wir also mit der Theorie.

Terminologie

Google teilt uns mit, dass es folgende Konzepte gibt:
  1. Intern ( intern) Der Speicher ist Teil der im Telefon integrierten Speicherkarte. Bei standardmäßiger Verwendung ist der Anwendungsordner vor dem Zugriff anderer Anwendungen geschützt (unter Verwendung des internen Speichers).
  2. Extern ( extern) Speicher ist der allgemeine „externe Speicher“, d.h. Dabei kann es sich entweder um einen Teil des eingebauten Speichers oder um ein entfernbares Gerät handeln. Normalerweise ist dies Teil des integrierten Speichers. Das letzte Mal, als ich gesehen habe, wie ein Gerät entfernt wurde, war unter Android 2.2, wo der integrierte Speicher etwa 2 GB groß war und der angeschlossene Speicher extern wurde (Verwendung des externen Speichers).
  3. Gelöscht ( abnehmbar) Speicher – der gesamte Speicher, der ohne „chirurgische“ Eingriffe aus dem Gerät entfernt werden kann.

Vor KitKat 4.4 bot die API keine Funktionalität zum Abrufen externer Speicherpfade. Ab dieser Version (API 19) erschien die öffentliche abstrakte Dateifunktion getExternalFilesDirs(String-Typ), der ein Array von Strings mit Pfaden zum internen und externen Speicher zurückgibt. Aber was ist mit unserer SD-Karte, die in den Steckplatz eingesteckt wird? Auch hier können wir den Weg dorthin nicht finden.

Suchergebnisse

Um die Frage zu beantworten, habe ich mich an das allwissende Google gewandt. Aber er gab mir auch keine klare Antwort. Viele Definitionsmöglichkeiten wurden in Betracht gezogen, von der Verwendung von Standardfunktionen, die zu externem Speicher führen, aber nichts mit dem Entfernen der Speichergeräte zu tun haben, bis hin zur Verarbeitung von Gerätemontageregeln (Android läuft auf dem Linux-Kernel). In letzteren Fällen wurden „fest verdrahtete“ Pfade zum Ordner mit gemounteten Geräten verwendet (in verschiedene Versionen dieses Verzeichnis ist anders). Vergessen Sie nicht, dass sich die Montageregeln von Version zu Version ändern.

Letztendlich habe ich beschlossen, alle gewonnenen Erkenntnisse zu kombinieren und eine eigene Klasse zu schreiben, die Pfade zu externen und gelöschten Geräten zurückgeben kann.

Codebeschreibung

Eine Klasse wurde erstellt MountDevice, die den Pfad zum Gerät, den Gerätetyp und einen Hash enthält.
Es gibt zwei Arten von Geräten ( interner Speicher Ich habe es nicht berührt, da der Zugriff über die System-API möglich ist.

Öffentliche Aufzählung MountDeviceType ( EXTERNAL_SD_CARD, REMOVABLE_SD_CARD )
Und die Klasse wurde erstellt StorageHelper, das nach verfügbaren Speicherkarten sucht.

Die StorageHelper-Klasse implementiert zwei Suchmethoden – über die Systemumgebung ( Umfeld) und mit dem Linux-Dienstprogramm montieren, oder vielmehr das Ergebnis seiner Ausführung.

Methode eins – Umgebung
Wenn ich mit der Umgebung arbeite, verwende ich die Standardfunktion getExternalStorageDirectory(), um Informationen über den externen Speicher zu erhalten. Um Informationen über den gelöschten Speicher zu erhalten, verwende ich Umgebungsvariable "ZWEITLAGER".

Externer Speicher Es gibt immer einen und normalerweise gibt es immer einen, also prüfen wir ihn auf Lesbarkeit, berechnen den Hash und merken ihn uns. Es kann viel Speicher gelöscht werden, daher ist es notwendig, die resultierende Zeichenfolge nach Trennzeichen aufzuteilen und jeden Wert zu überprüfen.

Funktion fillDevicesEnvirement

String path = android.os.Environment.getExternalStorageDirectory() .getAbsolutePath(); if (!path.trim().isEmpty() && android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) ( testAndAdd(path, MountDeviceType.EXTERNAL_SD_CARD); ) // Den Entferner abrufen String rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // Alle sekundären SD-KARTEN in Array aufgeteilt final String rawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathSeparator); for (String rawSecondaryStorage: rawSecondaryStorages) ( testAndAdd(rawSe condaryStorage, MountDeviceType.REMOVABLE_SD_CARD); ) )


Die Lösung wurde von stackoverflow übernommen. Die Antwort liegt irgendwo da unten.
Methode zwei – montieren
Da ich das System lange Zeit nicht dazu bringen konnte, mir den Pfad zum zu löschenden Speicher mitzuteilen, habe ich mich entschieden, in Richtung gemounteter Geräte zu suchen. Das System verfügt über Konfigurationsdateien, die die Regeln für das Mounten externer Geräte beschreiben. Alles wäre in Ordnung, aber unter Android Version 4.* haben Normalsterbliche keinen Zugriff auf diese Datei, daher werde ich diese Methode nicht in Betracht ziehen.

Kehren wir zum Mount-Dienstprogramm zurück. Bei Ausführung ohne Parameter gibt der Befehl eine Liste der gemounteten Dateisysteme zurück. Die zu löschenden Geräte liegen normalerweise im FAT-Dateisystemformat vor, daher werden wir Zeilen hervorheben, die das Merkmal „ fett". Externer Speicher wird durch den Parameter gekennzeichnet " Sicherung".

Hinweis: Bei dieser Methode werden die Typen der montierten Geräte nicht immer korrekt ermittelt (höchstwahrscheinlich habe ich etwas nicht berücksichtigt). Bemerkte den Unterschied auf verschiedenen Android-Versionen. Daher kann diese Methode als zusätzliche Methode verwendet werden.

fillDevicesProcess-Funktion

versuchen ( Laufzeitlaufzeit= Runtime.getRuntime(); proc = runtime.exec("mount"); try ( is = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); while ((line = br.readLine()) != null) ( if (line.contains("secure ")) continue; if (line.contains("asec")) continue; if (line.contains("fat")) (// TF-Karte String columns = line.split(" "); if (columns != null && columns.length > 1) ( testAndAdd(columns, MountDeviceType.REMOVABLE_SD_CARD); ) ) else if (line.contains("fuse")) (// internal(External) // storage String columns = line.split(" "); if (columns != null && columns.length > 1) ( // mount = mount.concat(columns + "\n"); testAndAdd(columns, MountDeviceType.EXTERNAL_SD_CARD); ) ) ) ) schließlich ( .. . ) ) Catch (Ausnahme e) ( ... )

Quelle Die ganze Klasse befindet sich noch nirgendwo. Eines Tages werde ich versuchen, es auf GitHub zu veröffentlichen.

Wer nutzt noch welche Methoden?

Tags: Tags hinzufügen



Freunden erzählen