Forum: PC Hard- und Software neues Android - alte Apps - Problem Schreibrechte


von Heinz (Gast)


Lesenswert?

Ich frag mal hier, auch wenns vielleicht etwas OT ist:

Seit Jahren setze ich billige China-Tablets als Statusanzeige meines 
Heimservers ein
Es werden einfach Bilder per SSH von einem Raspberry aufs Tablet geholt, 
dort läuft eine App die diese dann als Slideshow abspielt

Bislang habe ich diese Bilder mit der App Botsync aufs Tablet 
synchronisiert
http://botsync.com/

Leider läuft diese App aber auf neueren Tablets nicht mehr
Die Entwickler habe ich vergeblich versucht zu kontaktieren

Anscheinend wird das Problem dadurch hervorgerufen, das in neueren 
Android-Versionen Apps nicht mehr so einfach auf den internen Speicher / 
die SD-Karte schreiben können.
Ist wohl ein neues Sicherheitsfeature.
Weiss jemand wie man das umgehen kann?

Habe alternativ neuere / wesentlich aufgeblasenere Apps versucht, die 
stürzen leider alle nach ein paar Tagen ab.

Viele Grüße

Heinz

von Michael M. (do7tla)


Lesenswert?

Heinz schrieb:
> Anscheinend wird das Problem dadurch hervorgerufen, das in neueren
> Android-Versionen Apps nicht mehr so einfach auf den internen Speicher /
> die SD-Karte schreiben können.
> Ist wohl ein neues Sicherheitsfeature.
> Weiss jemand wie man das umgehen kann?

Kann man nur durch Rooten umgehen.
Eventuell muss man eine Custom Firmware nutzen da die Stock Firmware 
recht eigenwillig ist.

von Heinz (Gast)


Lesenswert?

schade, hatte gehofft es gibt einen "zulässigen" Ordner, oder eine App, 
die ein "public"-Verzeichnis generiert

von Soul E. (Gast)


Lesenswert?

Ab Android 7 hat jede App ein Recht auf einen privaten Ordner auf der 
ExternalSDCard. Der liegt unter Android/Data/ und da darf auch nur diese 
App reinschreiben. Ob dieser Ordner auf der SD-Karte auch benutzt wird, 
oder nur der interne Speicher, das stellt man in der App selber ein. 
Falls die App keine derartige Option bieter, Pech gehabt.

Komplette Apps auf die SD-Karte verschieben (wie bei 4.4) geht nicht 
mehr. Selber Ordner anlegen und beschreiben geht nur als Root.

von Heinz (Gast)


Lesenswert?

Hallo Souleye,

wird dieser Ordner dann von der App / Android automatisch angelegt?
Habe ich vielleicht doch noch eine Chance, die alte App zu nutzen?
(Ich muss den lokalen Speicherort für die übertragenen Daten manuell 
angeben, vielleicht mache ich da was falsch)

Oder müsste dann die App, wie ich vermute, generell angepasst werden?
Falls ja, wäre sicher was einfaches für die ursprünglichen Entwickler, 
aber die sind leider nicht mehr erreichbar

Viele Grüße

Heinz

von Christian R. (supachris)


Lesenswert?

Auf den "eigenen" Data Ordner der internen SD Card (Geräte Speicher) 
können auch alte Apps noch schreiben, soweit ich weiß...aber vielleicht 
hast du in den Datenschutz Optionen bzw bei den Berechnungen den 
Speicher nicht erlaubt. Externe SD Card geht nur noch in den eigenen 
Ordner und nur wenn die App angepasst ist.
Schau mal bei Einstellungen, Apps, dann deine App, dann Berechtigung, ob 
da die Anforderung (und Freigabe) zum Speichern drin ist.

von Soul E. (Gast)


Lesenswert?

Heinz schrieb:

> wird dieser Ordner dann von der App / Android automatisch angelegt?

Den Ordner legt die App an. Das passiert bei der Installation, 
wahrscheinlich steht es in der manifest-Datei drin.

> Habe ich vielleicht doch noch eine Chance, die alte App zu nutzen?
> (Ich muss den lokalen Speicherort für die übertragenen Daten manuell
> angeben, vielleicht mache ich da was falsch)

Wahrscheinlich bekommt die App beim Anlegen des Ordners auf der 
ExternalSDCard (beim Installieren) die Schreibrechte auf denselben. Dann 
dürfte manuelles Anlegen mit einem Dateimanager nicht zum gleichen Ziel 
führen. Du müsstest den Ordner als root anlegen, der App den Zugriff 
gestatten, und dann in der App den Ordner auswählen. Danach kann der 
root wieder weg.

Eigentlich geht sowas über das Installations-Skript in der apk-Datei. 
Vielleicht kann man das irgendwie umbasteln?


> Oder müsste dann die App, wie ich vermute, generell angepasst werden?
> Falls ja, wäre sicher was einfaches für die ursprünglichen Entwickler,
> aber die sind leider nicht mehr erreichbar

Leider kein Einzelfall. Von meinem alten Navigationstool Scout musste 
ich mich aus diesem Grund auch verabschieden.

Immerhin kannst Du beliebige Speicherorte auswählen (auch wenn Dir noch 
die Schreibrechte fehlen). Wenn man die App selber umprogrammieren 
müsste wäre es schwieriger.

von Heinz (Gast)


Lesenswert?

> Schau mal bei Einstellungen, Apps, dann deine App, dann Berechtigung, ob
da die Anforderung (und Freigabe) zum Speichern drin ist.

Also die App hat auf alle Fälle Berechtigung "Speicher" ?

Habe ich nur den falschen Ordner angegeben?

von Heinz (Gast)


Lesenswert?

wobei ich noch anmerken muss - mit einem relativ neuen Handy:
Mir ist die Ordnerstrucktur nicht wirklich klar, früher gab es intern 
und sdcard, jetzt ist irgendwie alles vermischt, wohl sehr viele 
Verknüpfungen gesetzt?

Wenn ich z.B. im ES Datei Explorer auf "intern" gehe steht oben storage 
/ emulated /0  ?

Ein Verzeichnis der Botsync-App habe ich nicht gefunden?

von Christian R. (supachris)


Lesenswert?

Heinz schrieb:
> Wenn ich z.B. im ES Datei Explorer auf "intern" gehe steht oben storage
> / emulated /0  ?

Ja genau richtig. Das ist der interne Speicher. Jede App darf dann dort 
unter Android/Data/<AppNameSpace>  ihre Daten ablegen und nur dort. Du 
musst da drin den Ordner deiner App suchen.

von Soul E. (Gast)


Lesenswert?

Christian R. schrieb:

> Ja genau richtig. Das ist der interne Speicher. Jede App darf dann dort
> unter Android/Data/<AppNameSpace>  ihre Daten ablegen und nur dort. Du
> musst da drin den Ordner deiner App suchen.

Die gleiche Struktur findet sich auch auf Storage/ExternalSDCard. Kann 
bei Dir auch anders heissen, Storage/1432-3423 oder so. Auch da kann 
jede App einen Ordner mit Exklusivrechten bekommen, siehe oben.

von Christian R. (supachris)


Lesenswert?

soul e. schrieb:
> Christian R. schrieb:
>
> Ja genau richtig. Das ist der interne Speicher. Jede App darf dann dort
> unter Android/Data/<AppNameSpace>  ihre Daten ablegen und nur dort. Du
> musst da drin den Ordner deiner App suchen.
>
> Die gleiche Struktur findet sich auch auf Storage/ExternalSDCard. Kann
> bei Dir auch anders heissen, Storage/1432-3423 oder so. Auch da kann
> jede App einen Ordner mit Exklusivrechten bekommen, siehe oben.

Aber braucht man dafür nicht ein Extra Flag im Manifest und das 
entsprechende Api Level? Das haben die doch mal geändert.

von Soul E. (Gast)


Lesenswert?

Christian R. schrieb:
> soul e. schrieb:
>> Die gleiche Struktur findet sich auch auf Storage/ExternalSDCard. Kann
>> bei Dir auch anders heissen, Storage/1432-3423 oder so. Auch da kann
>> jede App einen Ordner mit Exklusivrechten bekommen, siehe oben.
>
> Aber braucht man dafür nicht ein Extra Flag im Manifest und das
> entsprechende Api Level? Das haben die doch mal geändert.


soul e. schrieb:

> Den Ordner legt die App an. Das passiert bei der Installation,
> wahrscheinlich steht es in der manifest-Datei drin.
 (...)
> Eigentlich geht sowas über das Installations-Skript in der apk-Datei.
> Vielleicht kann man das irgendwie umbasteln?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.