Androc-Permissions unvollständig gesetzt

Androc-Permissions unvollständig gesetzt

Postby WernerSc » 08.10.2018, 17:59

Hi Rob,

zum Thema "was fehlt, oder stimmt nicht":

seit etwa androc revision > 511 werden bei einer Neuinstallation die permissions nicht mehr richtig gesetzt. Androc funktioniert danach zwar, jedoch werden die Funktionssymbole im Fahrregler nicht angezeigt.
Bis zu rev 551 war dies zunächst nicht offensichtlich, da androc per upgrade aktualisiert werden konnte und dabei die korrekt gesetzten permissions der früheren Versionen beibehalten worden sind.

Das Problem kann jedoch über die Einstellungen für die androc App behoben werden. Es muss lediglich die Berechtigung für "Speicher" aktiviert werden.

Ich habe diesen Effekt auf diversen Android Systemen mit den Android-Versionen 6 und 7 nachvollzogen (die beigefügten Screenshots) wurden auf einem in einer VM installierten andoid-x86-7.1 System erstellt).
You do not have the required permissions to view the files attached to this post.
viele Grüße, Werner
WernerSc
 

Re: Androc-Permissions unvollständig gesetzt

Postby rjversluis » 08.10.2018, 18:27

Hi Werner,

da hat sich nichts geändert:
Code: Select all
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>

Nur MUSS man im PlayStore der Target auf
Code: Select all
android:targetSdkVersion="26"

stellen, sonnst fliegt der App raus.
Vielleicht hängt es damit zusammen.

Aber
android.permission.WRITE_EXTERNAL_STORAGE
sollte ausreichen.

https://developer.android.com/reference ... permission
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBUS - CANGCx ] - [ G: CBUS - CANGCx ]
rjversluis
Site Admin
 

Re: Androc-Permissions unvollständig gesetzt

Postby WernerSc » 08.10.2018, 20:21

Hallo Rob,

ich habe in den jeweiligen AndroidManifesten auch keine auffälligen Unterschiede feststellen können, bis eben auf
Code: Select all
platformBuildVersionCode="23" platformBuildVersionName="6.0-2704002"
für diejenigen (neueren) Versionen, bei denen die "Speicher"-permission nach Neuinstallation nicht aktiviert ist und
Code: Select all
platformBuildVersionCode="4" platformBuildVersionName="1.6"
für die (älteren) Versionen, bei denen die "Speicher"-permission aktiviert wird
und die Reihenfolge im Manifest:
- alt: permissions nach Application-Settings,
- neu: permissons vor Application-Settings.

Das Target hatte ich bislang nicht auf targetSdkVersion 26 gesetzt. Ich habe aber auch jetzt keine Möglichkeit entdeckt, die targetSdkVersion vorzugeben.
Die Apps ließen sich aber dennoch installieren, sowohl über PlayStore (Androc war dort auch gelistet) als auch per Direkt-Installation aus einem lokalen Verzeichnis.
Allerdings kam vom PlayStore der Hinweis. dass "diese App möglicherweise für mein System nicht optimiert ist".

---

Ich habe gerade die aktuelle Androc-Version auf meinem Android-7 Testsystem nochmals de- und dann wieder per PlayStore neu-installiert.
Nach Installation waren wie zuvor zunächst "keine Berechtigungen" für Androc erteilt. Es waren - anders als bei den früheren Androc-Versionen - auch keine besonderen permissions zu bestätigen.

Danach nochmals
- Androc deinstalliert
- per Dateimanager androc-rev511 installiert: es wird Hinweis auf erteilte Berechtigungen angezeigt (-> Screenshot)
- dann per Dateimanager auf androc-566 ge'updated': Hinweis auf "keine besonderen Berechtigungen"; aber Berechtigungen der rev511 bleiben bestehen

- Androc wieder deinstalliert
- per Dateimanager gleich die aktuelle Version 566 installiert: Hinweis auf "keine besonderen Berechtigungen"; nach Installation auch keine (Speicher) Berechtigung(en) gesetzt.
You do not have the required permissions to view the files attached to this post.
viele Grüße, Werner
WernerSc
 

Re: Androc-Permissions unvollständig gesetzt

Postby rjversluis » 08.10.2018, 20:38

Hi Werner,

ich weis nicht was ich da machen soll.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBUS - CANGCx ] - [ G: CBUS - CANGCx ]
rjversluis
Site Admin
 

Re: Androc-Permissions unvollständig gesetzt

Postby WernerSc » 08.10.2018, 22:10

Hallo Rob,

rjversluis wrote:ich weis nicht was ich da machen soll.


Ich erst recht nicht ;-) , habe aber ein paar Vorschläge:

Hinweis im Wiki, dass man bei Androc Neuinstallationen bis auf weiteres in den "Einstellungen"->"Apps" die Permissions für Androc überprüfen und ggf. "händisch" korrigieren sollte (zumindest wenn man Funktionssymbole im Fahrregler angezeigt haben will)?

Im Android-Manifest (wie bei rev 511) die permissions probeweise wieder ans Ende setzen? es gibt bekanntlich nichts was es nicht gibt

["<use-sdk .../>" für Min-API-Level und Target-API-Level (behebt u.U. unterschiedliche Darstellung in Android <=6 und Android 7; aber das ist ein anderes Thema)]
viele Grüße, Werner
WernerSc
 

Re: Androc-Permissions unvollständig gesetzt

Postby WernerSc » 09.10.2018, 21:46

Hallo Rob,

ich glaube, ich hab's gefunden und - zumindest bei mir - behoben.

Das hier
WernerSc wrote:Im Android-Manifest (wie bei rev 511) die permissions probeweise wieder ans Ende setzen? es gibt bekanntlich nichts was es nicht gibt

war's jedenfalls nicht.

Das hier
WernerSc wrote:["<use-sdk .../>" für Min-API-Level und Target-API-Level (behebt u.U. unterschiedliche Darstellung in Android <=6 und Android 7; aber das ist ein anderes Thema)]

nicht ganz.

Tatsächlich habe ich nach einigen Irrwegen schließlich lediglich per apktool die (vermutlich in build.gradle definierte) targetSdkVersion von 26 auf 22 herabgesetzt und damit als Zielsystem Android 5.1 angegeben.
Laut Android Permissions overview müssen bei targetSdkVersion>=23 auf Android >= 6 Systemen permissions zur Laufzeit angefragt werden (was androc aber derzeit nicht zu tun scheint).
Mit der Herabsetzung der targetSdkVersion auf 22 werden die permissions wieder zum Installationszeitpunkt gesetzt.
Nebeneffekt: der Fahrregler sieht jetzt auch auf neueren Android-Systemen wieder so aus wie früher (=> "Nachtdesign": heller Text auf dunklem Hintergrund).

Zur Analyse beigefügt ist die schließlich "erfolgreiche" android-566-7.apk (7. Versuch!)
You do not have the required permissions to view the files attached to this post.
viele Grüße, Werner
WernerSc
 

Re: Androc-Permissions unvollständig gesetzt

Postby rjversluis » 10.10.2018, 07:04

Hi Werner,

schön, aber PlayStore schreibt vor das es minimal 26 sein muss, also ist diese Lösung nicht brauchbar.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBUS - CANGCx ] - [ G: CBUS - CANGCx ]
rjversluis
Site Admin
 

Re: Androc-Permissions unvollständig gesetzt

Postby WernerSc » 10.10.2018, 09:48

Hallo Rob

PlayStore schreibt vor das es minimal 26 sein muss

Das bezieht sich wohl auf dieses hier: https://developer.android.com/distribute/best-practices/develop/target-sdk?hl=de (Google macht's den Entwicklern nicht gerade leicht :( )

Dann wird Androc wohl künftig gemäß "Permissions Richtlinie" auf Android >= 6 die kritischen Permissions zur Laufzeit anfragen oder der Anwender die erforderlichen permissions per "Settings->Apps" explizit freigeben müssen.
Was ich allerdings nicht nachvollziehen kann, ist, dass die Lok-Bilder und Gleisplansymbole auch ohne "Speicher"-Berechtigung angezeigt werden können, die Funktionssymbole aber die "Speicher"-Berechtigung (android.permission.WRITE_EXTERNAL_STORAGE) benötigen. Die Bilddateien werden doch alle im selben Verzeichnis im internen "Haupt"speicher abgelegt.

Nb.: mit targetSdkVersion = 26 wird der Fahrregler auf Android 7 mit schwarzer Schrift auf hellem Hintergrund dargestellt. Das sieht zwar gut aus (und rendert die Funktionssymbole "schärfer"), erschwert aber die Lesbarkeit für den Lok-Status auf dem hier (meistens) dunkelroten Hintergrund. Die vorige Darstellung mit weißer Schrift ist wegen des höheren Kontrastes besser lesbar.

p.s.: für mich ist Androc das Killerfeature von Rocrail und ich bin sehr dankbar, dass es weiterentwickelt wird.
viele Grüße, Werner
WernerSc
 


Return to andRoc (DE)