Fehler in acb_20170209 (3010)

Geocaches in einer mobilen Kiste

Moderatoren: Longri, hannes!

Benutzeravatar
arbor95
Geoguru
Beiträge: 4671
Registriert: So 4. Jan 2009, 20:28
Wohnort: 72800 Eningen u.A.
Kontaktdaten:

Re: Fehler in acb_20170209 (3010)

Beitrag von arbor95 » Mi 8. Mär 2017, 12:19

So, eine neue Version liegt in der Dropbox.
Bild

Werbung:
cacheboxer
Geomaster
Beiträge: 789
Registriert: Mo 1. Mär 2010, 21:31

Re: Fehler in acb_20170209 (3010)

Beitrag von cacheboxer » Mi 8. Mär 2017, 19:04

Sieht schon anders aus, stürzt aber immer noch ab. Magst Du im Manifest beim FileProvider evtl. noch "exported" auf "true" setzen? Oder ist vielleicht noch eine andere Kleinigkeit falsch - im Beispiel ist exported ja auch auf "false"?

Code: Alles auswählen

03-08 18:53:19.494: W/ActivityManager(11277): Permission Denial: opening provider android.support.v4.content.FileProvider from ProcessRecord{43d265d0 16393:com.sec.android.app.camera/u0a10096} (pid=16393, uid=10096) that is not exported from uid 10182
03-08 18:53:19.509: E/AndroidRuntime(16393): java.lang.SecurityException: Permission Denial: opening provider android.support.v4.content.FileProvider from ProcessRecord{43d265d0 16393:com.sec.android.app.camera/u0a10096} (pid=16393, uid=10096) that is not exported from uid 10182
03-08 18:53:19.509: E/AndroidRuntime(16393): 	at com.sec.android.app.camera.Camera$LastContentUriCallback.onCompleted(Camera.java:5915)
03-08 18:53:19.509: E/AndroidRuntime(16393): 	at com.sec.android.app.camera.Camera.onLaunchGallery(Camera.java:5797)
03-08 18:53:19.509: E/AndroidRuntime(16393): 	at com.sec.android.app.camera.Camera.onImageStoringCompleted(Camera.java:5165)
03-08 18:53:19.509: E/AndroidRuntime(16393): 	at com.sec.android.app.camera.CameraEngine.imageStoringCompleted(CameraEngine.java:2326)
03-08 18:53:19.509: E/AndroidRuntime(16393): 	at com.sec.android.app.camera.CeStateInitialized.handleMessage(CeStateInitialized.java:47)
03-08 18:53:19.509: E/AndroidRuntime(16393): 	at com.sec.android.app.camera.CameraEngine$StateMessageHandler.handleMessage(CameraEngine.java:253)
Mein Benutzername ist mangels Phantasie entstanden. Ähnlichkeiten mit den Namen genialer Softwareprodukte sind rein zufällig und nicht beabsichtigt.

Benutzeravatar
arbor95
Geoguru
Beiträge: 4671
Registriert: So 4. Jan 2009, 20:28
Wohnort: 72800 Eningen u.A.
Kontaktdaten:

Re: Fehler in acb_20170209 (3010)

Beitrag von arbor95 » Mi 8. Mär 2017, 19:17

Kann ich gerne mal machen.
Kann ich auch mal einen Blick in die Logdatei werfen?
Bild

Benutzeravatar
arbor95
Geoguru
Beiträge: 4671
Registriert: So 4. Jan 2009, 20:28
Wohnort: 72800 Eningen u.A.
Kontaktdaten:

Re: Fehler in acb_20170209 (3010)

Beitrag von arbor95 » Mi 8. Mär 2017, 19:38

MIt Version acb_3022_20170308_1926.apk wird der android.support.v4.content.FileProvider exportiert. (Das ist ein potentielles Sicherheitsproblem, da ....)
Bild

cacheboxer
Geomaster
Beiträge: 789
Registriert: Mo 1. Mär 2010, 21:31

Re: Fehler in acb_20170209 (3010)

Beitrag von cacheboxer » Mi 8. Mär 2017, 20:09

Mmh - da stürzt ACB gleich beim Start ab, weil der Provider nicht exportiert werden darf...

Code: Alles auswählen

03-08 20:03:41.984: E/AndroidRuntime(22805): FATAL EXCEPTION: main
03-08 20:03:41.984: E/AndroidRuntime(22805): java.lang.RuntimeException: Unable to get provider android.support.v4.content.FileProvider: java.lang.SecurityException: Provider must not be exported
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at android.app.ActivityThread.installProvider(ActivityThread.java:5196)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at android.app.ActivityThread.installContentProviders(ActivityThread.java:4799)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4683)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at android.app.ActivityThread.access$1400(ActivityThread.java:168)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1389)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at android.os.Looper.loop(Looper.java:137)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at android.app.ActivityThread.main(ActivityThread.java:5493)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at java.lang.reflect.Method.invokeNative(Native Method)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at java.lang.reflect.Method.invoke(Method.java:525)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at dalvik.system.NativeStart.main(Native Method)
03-08 20:03:41.984: E/AndroidRuntime(22805): Caused by: java.lang.SecurityException: Provider must not be exported
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at android.support.v4.content.FileProvider.attachInfo(FileProvider.java:346)
03-08 20:03:41.984: E/AndroidRuntime(22805): 	at android.app.ActivityThread.installProvider(ActivityThread.java:5193)
Log-Datei von der Vorversion:

Code: Alles auswählen

18:39:48.817 [Thread-27904] INFO  CB_Utils.Log.CB_SLF4J - Set LogLevel to:INFO
18:39:48.820 [Thread-27904] INFO  de.cachebox_test.splash - android.os.Build.VERSION.SDK_INT= 18
18:39:48.822 [Thread-27904] INFO  de.cachebox_test.splash - workPath set to /storage/extSdCard/CacheBox
18:39:48.825 [Thread-27904] INFO  de.cachebox_test.splash - getFilesDir()= /data/data/de.cachebox_test/files
18:39:48.826 [Thread-27904] INFO  de.cachebox_test.splash - Environment.getExternalStoragePublicDirectory()= /storage/emulated/0
18:39:48.827 [Thread-27904] INFO  de.cachebox_test.splash - Environment.getExternalStorageDirectory()= /storage/emulated/0
18:39:48.831 [Thread-27904] INFO  de.cachebox_test.splash - getExternalFilesDir(null)= /storage/emulated/0/Android/data/de.cachebox_test/files
18:39:48.832 [Thread-27904] INFO  CB_Utils.Log.CB_SLF4J - Set LogLevel to:ERROR
18:39:55.968 [Thread-27904] INFO  de.cachebox_test.splash - initialize Database for CacheBox
18:39:55.970 [Thread-27904] INFO  de.cachebox_test.splash - initialize Database FieldNotes
18:39:55.974 [Thread-27904] INFO  de.cachebox_test.splash - finish activity
18:39:56.345 [Thread-27904] INFO  de.cachebox_test.splash - new Intent main.class com.badlogic.gdx.backends.android.AndroidApplication
18:39:56.346 [Thread-27904] INFO  de.cachebox_test.splash - Intent putExtras GcCode null name null guid null GpxPath null UI CB_UI_Base.Math.DevicesSizes@4307ca90
18:39:56.348 [Thread-27904] INFO  de.cachebox_test.splash - Start Main Intent
18:39:56.551 [main] INFO  de.cachebox_test.main - OnCreate Run from Splash
18:40:25.585 [GLThread 27918] INFO  CB_UI.GlobalCore - [GlobalCore]setSelectedWaypoint: cache=GC419GX
18:40:29.868 [main] INFO  de.cachebox_test.main - Show View with ID = 111
18:40:29.883 [main] INFO  de.cachebox_test.main - takePhoto start Cache:GC419GX
18:40:30.144 [main] INFO  de.cachebox_test.main - Main=> onPause
18:40:37.667 [main] INFO  de.cachebox_test.main - Return from activity  with requestCode 61216516
18:40:37.675 [main] ERROR de.cachebox_test.main - Intent Take Photo resultCode: 0
18:43:30.538 [GLThread 27918] INFO  CB_UI.GL_UI.Views.DescriptionView - getNewCacheInfo
18:43:30.600 [main] INFO  de.cachebox_test.main - Show View with ID = 4
18:43:32.526 [main] INFO  de.cachebox_test.main - Hide View with ID = 4
18:45:46.024 [main] INFO  CB_UI.GlobalCore - [GlobalCore]setSelectedWaypoint: cache=GC5ZAPK
18:45:46.549 [main] INFO  CB_UI.GlobalCore - [GlobalCore]setSelectedWaypoint: cache=GC419GX
18:46:45.704 [main] INFO  de.cachebox_test.main - Show View with ID = 111
18:46:45.713 [main] INFO  de.cachebox_test.main - takePhoto start Cache:GC419GX
18:46:46.035 [main] INFO  de.cachebox_test.main - Main=> onPause
18:48:48.734 [main] INFO  de.cachebox_test.main - Return from activity  with requestCode 61216516
18:48:48.742 [main] ERROR de.cachebox_test.main - Intent Take Photo resultCode: 0
18:51:41.607 [main] INFO  de.cachebox_test.main - Show View with ID = 111
18:51:41.613 [main] INFO  de.cachebox_test.main - takePhoto start Cache:GC419GX
18:51:42.096 [main] INFO  de.cachebox_test.main - Main=> onPause
18:53:21.949 [main] INFO  de.cachebox_test.main - Return from activity  with requestCode 61216516
18:53:22.016 [main] ERROR de.cachebox_test.main - Intent Take Photo resultCode: 0
19:01:17.198 [main] INFO  de.cachebox_test.main - Main=> onPause
19:02:31.216 [main] INFO  CB_UI_Base.Energy - ENERGY setDisplayOff
19:04:54.006 [main] INFO  CB_UI_Base.Energy - ENERGY setDisplayOn
19:05:02.144 [main] INFO  de.cachebox_test.main - Main=> onPause
19:05:02.509 [main] INFO  de.cachebox_test.main - Sent files to MediaScanner
19:05:02.511 [main] INFO  de.cachebox_test.main - Main=> onDestroy
19:05:02.514 [main] INFO  de.cachebox_test.main - Main=> onDestroy isFinishing
Mein Benutzername ist mangels Phantasie entstanden. Ähnlichkeiten mit den Namen genialer Softwareprodukte sind rein zufällig und nicht beabsichtigt.

Benutzeravatar
arbor95
Geoguru
Beiträge: 4671
Registriert: So 4. Jan 2009, 20:28
Wohnort: 72800 Eningen u.A.
Kontaktdaten:

Re: Fehler in acb_20170209 (3010)

Beitrag von arbor95 » Mi 8. Mär 2017, 20:17

Da fällt mir nur noch ein die Android Versionsabfrage und dann den bisher verwendeten uri file:/// zu verwenden.
Bild

cacheboxer
Geomaster
Beiträge: 789
Registriert: Mo 1. Mär 2010, 21:31

Re: Fehler in acb_20170209 (3010)

Beitrag von cacheboxer » Mi 8. Mär 2017, 21:19

Wäre als Woraround für mich OK. Wobei mich irgendwie auch interessiert, was genau jetzt falsch ist... Mein Bauchgefühl meint, dass es nur noch eine Kleinigkeit ist.

BTW: Ist es Absicht, dass die leeren Dummy-Dateien unter /storage/emulated/0/Android/data/de.cachebox_test/files/User/Media angelegt werden, also im internen Speicher die Ordnerstruktur im Cachebox-Verzeichnis auf der externen SD-Karte nochmal abgebildet wird?
Mein Benutzername ist mangels Phantasie entstanden. Ähnlichkeiten mit den Namen genialer Softwareprodukte sind rein zufällig und nicht beabsichtigt.

Benutzeravatar
arbor95
Geoguru
Beiträge: 4671
Registriert: So 4. Jan 2009, 20:28
Wohnort: 72800 Eningen u.A.
Kontaktdaten:

Re: Fehler in acb_20170209 (3010)

Beitrag von arbor95 » Mi 8. Mär 2017, 21:25

Ja das ist Absicht.
Auf /storage/emulated/0/Android/data/de.cachebox_test/files hat die App de.cachebox_test Schreibzugriff (entweder explizit gewährt oder per se ab Android Version xx)
Dahin läßt man die anderen APPs schreiben und verschiebt dann das Ganze in das gewünschte Verzeichnis (.../User/Media).
Bild

cacheboxer
Geomaster
Beiträge: 789
Registriert: Mo 1. Mär 2010, 21:31

Re: Fehler in acb_20170209 (3010)

Beitrag von cacheboxer » Mi 8. Mär 2017, 21:37

Guck 'mal hier und im dort verlinkten Artikel. Ultragrob zusammengefasst scheint addFlags() erst ab Lollipop die Berechtigungen zu erteilen, so dass man hier manuell den in Frage kommenden Empfängern die Berechtigung erteilen und nachher wieder entziehen muss.
Mein Benutzername ist mangels Phantasie entstanden. Ähnlichkeiten mit den Namen genialer Softwareprodukte sind rein zufällig und nicht beabsichtigt.

cacheboxer
Geomaster
Beiträge: 789
Registriert: Mo 1. Mär 2010, 21:31

Re: Fehler in acb_20170209 (3010)

Beitrag von cacheboxer » Mi 8. Mär 2017, 21:39

arbor95 hat geschrieben:
Mi 8. Mär 2017, 21:25
Ja das ist Absicht.
Auf /storage/emulated/0/Android/data/de.cachebox_test/files hat die App de.cachebox_test Schreibzugriff (entweder explizit gewährt oder per se ab Android Version xx)
Dahin läßt man die anderen APPs schreiben und verschiebt dann das Ganze in das gewünschte Verzeichnis (.../User/Media).
Das ist mir klar. Mich wunderte, dass die Datei nicht direkt in files steht, sondern unterhalb nochmal ein User/Media aufgemacht wird.
Mein Benutzername ist mangels Phantasie entstanden. Ähnlichkeiten mit den Namen genialer Softwareprodukte sind rein zufällig und nicht beabsichtigt.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder