AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FMX Android Kamera Crash

Ein Thema von stalkingwolf · begonnen am 28. Mai 2021 · letzter Beitrag vom 31. Mai 2021
Antwort Antwort
stalkingwolf

Registriert seit: 6. Mai 2011
540 Beiträge
 
#1

FMX Android Kamera Crash

  Alt 28. Mai 2021, 15:03
Delphi 10.4 SKD 25.

Ich habe nach https://blogs.embarcadero.com/de/mit...ff-mit-delphi/
Die Kamerafunktion implementiert. Wobei ich zuvor schon mit IFMXCameraService.takePhoto probiert habe mit dem gleichen Ergebnis.

Ich herhalte folgende Fehlermeldung und bin etwas ratlos was genau fehlt.
Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt myapp.apk ist eine Exception der Klasse EJNIException mit der Meldung 'java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(an droid.content.pm.PackageManager, java.lang.String)' on a null object reference' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Ich habe die Berechtigungen für read/write external storage und Camera in Projekt eingestellt und Frage die Infos in meinem Programm ab.
Dialog geht auf und ich erhalte für alle 3 granted.
Ich habe auch die "Sichere Dateifreigabe" unter der Berechtigungsliste aktiviert.

Nach einigen Problem welche ich hatte ließt sich die Meldung wie das er in der AndroidManifest.xml etwas lesen will was nicht vorhanden ist.
Die Berechtigungen finde ich in der AndroidManifest.xml auch, aber von der Sicheren Dateifreigabe finde ich nichts.
Kann es daran liegen? Falls ja wie lautet der Eintrag?

ich habe auch den Beitrag https://www.delphipraxis.net/201272-...ion-error.html
hier im Forum gefunden und letztendlich mache ich es genau so. Dennoch der Crash.

Edit : das Example der Camera App funktioniert. Ich habe exakt die gleichen Einstellungen. Bin irgendwie etwas überfragt was falsch ist.

Geändert von stalkingwolf (28. Mai 2021 um 15:43 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX Android Kamera Crash

  Alt 28. Mai 2021, 16:58
Hallo,

wenn das Kamerabeispiel funktioniert, versuche doch mal mit einem Diff Viewer
den Unterschied zwischen beiden Manifesten zu ermitteln.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
540 Beiträge
 
#3

AW: FMX Android Kamera Crash

  Alt 28. Mai 2021, 17:44
das habe ich schon. Es ist mein provider welches ich für für das öffnen von Dateien mit externen Apps benötige.
Aber das habe ich schon entfernt und Resultat ist das gleiche.
ich habe auch schon mit dem Debugger steppweise alles durchgelaufen und er haut bei einer Pointerzuweisung raus (Funktion müsste ich noch einmal am Montag nachschauen).

Ich bin nun im Feierabend. Die Umstellung von SDK 14 auf 25 zerrt echt an den Nerven
Ich habe mir da keinen Gefallen getan so lange auf dem 14er SDK mit Berlin herumzuhängen.

Für Montag werde ich mal ein neues simples APK nachbauen mit der Kamera, evtl fällt mir dann auf das genau das Problem ist.
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
890 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: FMX Android Kamera Crash

  Alt 28. Mai 2021, 18:15
Ein Tipp wegen "read/write external storage": Soll die App in den App-Store?
Dann musst du dich meines Wissens von diesen Rechten verabschieden, diese lässt Google nur noch für File-Manager durch.
Hier findest du Code-Beispiele, wie es nun funktioniert:
https://www.delphipraxis.net/205436-...-10-4-a-2.html
https://www.delphipraxis.net/207832-...abbrechen.html
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.533 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: FMX Android Kamera Crash

  Alt 28. Mai 2021, 23:23
Ich hatte auch diese Probleme. Es lag letztlich daran, dass beim hochziehen von älteren Delphi-Versionen zu neuen Versionen die Übergänge in den Einstellungsdateien nicht immer so richtig funktionieren. Ich wechselte bei einem Android-Programm von XE7 zu 10.4.2.

Entscheidend war da die AndroidManifest.template.xml Datei.

Delphi geht immer beim Erzeugen der AndroidManifest.xml - Datei so vor, dass es die Template-Datei nimmt und die merged mit Deinen Einstellungen, die Du in Delphi vorgenommen hast.

Leider wird die Template-Datei offensichtlich nicht neu erzeugt, wenn man auf die höhere Delphi-Version wechselt, daher fehlen da Einstellungen oder das Konstrukt ist etwas anders, was beim Verwenden nachher zu Fehlern führt.

Ich habe das so gelöst, dass ich einfach ein Dummy-Projekt angelegt habe, das einmal auf ein Device habe ausgeführt und dann meine Template-Datei aus meinem eigentlichen Projekt mit dieser neuen Template-Datei überschrieben habe.

Danach funktionierte es dann (also Delphi war in der Lage eine funktionierende AndroidManifest.xml Datei zu erzeugen).

Wenn man ganz großes Pech hat, muss man auch die Projekt-Datei (drproj) löschen, und das Projekt mit allen Einstellungen noch mal neu anlegen (das macht Spaß)...

Geändert von Harry Stahl (28. Mai 2021 um 23:26 Uhr)
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#6

AW: FMX Android Kamera Crash

  Alt 29. Mai 2021, 07:34
Delphi geht immer beim Erzeugen der AndroidManifest.xml - Datei so vor, dass es die Template-Datei nimmt und die merged mit Deinen Einstellungen, die Du in Delphi vorgenommen hast.

Leider wird die Template-Datei offensichtlich nicht neu erzeugt, wenn man auf die höhere Delphi-Version wechselt, daher fehlen da Einstellungen oder das Konstrukt ist etwas anders, was beim Verwenden nachher zu Fehlern führt.

Ich habe das so gelöst, dass ich einfach ein Dummy-Projekt angelegt habe, das einmal auf ein Device habe ausgeführt und dann meine Template-Datei aus meinem eigentlichen Projekt mit dieser neuen Template-Datei überschrieben habe.
Ich weiß nicht, ob ich das richtig verstanden habe wegen der Template Datei. Ich habe diese einfach im Projekt umbenannt. Dann legt Delphi eine neue Template Datei an. Dann nochmal vergleichen, was zwischen der alten und der neuen anders ist. Wenn man in der originalen Template Datei keine eigenen Einträge gemacht hat, kann man die neu erzeugte einfach nehmen. Ansonsten die Anpassungen vornehmen.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.533 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: FMX Android Kamera Crash

  Alt 29. Mai 2021, 15:26
@zeras: Geht auch mit dem einfach umbenennen. Ich hatte nur meinen Weg beschrieben, wo ich sicherstellen wollte, dass eine neue App auch auf dem Device läuft und hab eben die dort vorhandene Template-Datei genommen.
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
540 Beiträge
 
#8

AW: FMX Android Kamera Crash

  Alt 31. Mai 2021, 09:11
Ich hatte auch diese Probleme. Es lag letztlich daran, dass beim hochziehen von älteren Delphi-Versionen zu neuen Versionen die Übergänge in den Einstellungsdateien nicht immer so richtig funktionieren. Ich wechselte bei einem Android-Programm von XE7 zu 10.4.2.

Entscheidend war da die AndroidManifest.template.xml Datei.
Danke Harry. Ich werde das nachher mal testen. Ich hatte auch die ganze Zeit die Vermutung das die Datei das Problem sein muss, weil Quellcode mäßig kann man gar nicht so wirklich viel falsch machen.
Mein Projekt kommt ursprünglich aus 10.1 Berlin. Da sah die Welt der Berechtigungen auch noch anders aus.
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
540 Beiträge
 
#9

AW: FMX Android Kamera Crash

  Alt 31. Mai 2021, 14:58
Oh man.
Android Ordner gelöscht.
Die Manifestdatei aus dem Kamerabeispiel in meinem Projektordner kopiert und dabei gesehen das es in der neuen Manifest auch einen Platzhalter für den Provider gibt. Übersetzt, geschaut was Delphi dort als authorities einträgt und dies in meinen Quellcode übernommen.
Erneut übersetzt und alles funktioniert. d.h Kamera und Provider für das auslesen der URI.
Habe einen Tag daran gehangen und fast verzweifelt und dann war es nur ein Aufwand von 30sek

vielen dank für die Hilfe.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz