![]() |
Delphi Rio 10.3 Java Class JCameraPosition_Builder not found
Moin,
ich habe mir diese Woche mal das neue 10.3 installiert und bin gerade dabei, durchzuschauen, was so alles nicht mehr funktioniert. Generell habe ich hauptsächlich Probleme mit FMX auf Android, und am meisten Rätsel gibt mir gerade ein Fehler auf, der das Starten einer meiner Apps verhindert, die eine TMapView verwendet. Im Prinzip stürzt die App ab beim Starten ab, die Fehlermeldung, die ich im Debugger begutachten konnte, war "Exception der Klasse EJNI mit der Meldung 'Java-Klasse JCameraPosition_Builder wurde nicht gefunden' aufgetreten". Gehe ich mit Gewalt weiter, bekomme ich eine etwas spezifischere Meldung "Exception der Klasse EReadError mit der Meldung 'Fehler beim Lesen von MapView.Zoom: JavaKlasse JCameraPosition_Builder wurde nicht gefunden' aufgetreten". Logischerweise lief die App auf 10.2 problemlos. Die Klasse "JCameraPosition_Builder" existiert auch definitiv in AndroidAPI.JNI.PlayServices. "MapView" ist der Name meiner TMapView-Komponente. Ich habe generell Probleme damit, den Fehler einzugrenzen. Der Debugger geht durch die OnCreate meiner Hauptform durch, ist aber noch nicht in der OnCreate meiner Form, welche die MapView beinhaltet, drin, weswegen ich davon ausgehe, dass Embarcadero etwas grundsätzlich kaputt geschossen hat. Trotzdem wollte ich mal nachfragen, ob hier irgendwer noch eine MapView auf Android in der Version 10.3 verwendet und dasselbe Problem hat (oder eventuell auch nicht?). |
AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found
Dumme Frage: Die nötigen Permissions und das neue Permissionhandling hast du benutzt ?
Das ist nämlich seit letztem Jahr Pflicht, und alte Apps brauchen etwas Anpassung. Oder benutzt du noch das KastriFree Projekt, das sollte es auch tun. |
AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found
Ich benutze ganz normal die Berechtigungen in den Projektoptionen.
Die einzigen Änderungen, die ich diesbezüglich zwischen 10.2.3 und 10.3 sehe, scheinen optisch zu sein, die Berechtigungen selbst scheinen wie gehabt zu sein. |
AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found
Also Änderung gibt es in der Anwendung, es müssen bei "dangerous permissions" diese bei bestimmten Aktionen
![]() |
AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found
Die neue Permissions-Regelung kannte ich tatsächlich noch nicht, war aber auch leider nicht die Ursache des Fehlers.
Auch mit manuell abgefragten Permissions stürzt die App wie oben beschrieben ab. |
AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found
Ich habe inzwischen die Fehlerstelle lokalisiert, welche in FMX.Maps.Android liegt:
Zeile 615
Code:
Sobald diese Methode ausgeführt wird, tritt der Fehler auf, was seltsam ist, da die angeblich nicht gefundene Javaklasse normal integriert zu sein scheint.
function TAndroidMapView.BuildCameraPosition: JCameraPosition;
begin Result := TJCameraPosition_Builder.JavaClass.init() .target(TJLatLng.JavaClass.init(FLocation.Latitude, FLocation.Longitude)) .zoom(GetZoom) .tilt(GetTilt) .bearing(GetBearing) .build; end; Ich werde mal weiter rumprobieren, was das sein könnte; wenn wer Ideen oder bereits Erfahrung damit hat, als her damit. Ich bin doch hoffentlich nicht der einzige arme Tropf, der in 10.3 auf Android mit ner Mapview arbeitet...:P |
AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found
So, weiteres Update:
Wie es scheint, fehlt mir die google-play-services.dex.jar welche zwar in den Android-Bibliotheken des Projektes aufgelistet, im Ordner aber nicht vorhanden ist. Mein Delphi 10.2 hingegen hat sie im entsprechenden Ordner liegen. Jetzt stellt sich mir die Frage, warum sie nicht da ist und wo ich die aktuelle Datei herbekomme. Ich habe die Google Play Services ganz normal über Android-Tools installiert... |
AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found
Die nervigsten Probleme sind auch immer die bescheuertsten...
Das hier war das Problem -> ![]() Meine App ist vor Version 10.2.3 gebaut worden, welche ich auch gepflegt übersprungen habe, und hat dementsprechend noch besagte google-play-services.dex.jar in der Android-Bibliothek gelistet gehabt, welche aber gar nicht mehr aktuell ist. Ein Rechtsklick auf "Bibliotheken" + "Systemdateien auf Standard zurücksetzen" und das Problem ist gelöst. Yey... |
AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found
Gut das du eine Lösung für dich gefunden hast.
Wenn du noch auf Tokyo bist (lt. deinem DP Eintrag), dann käme das ![]() Unter Rio ist das schon von Emba gelöst und integriert, aber ein klein wenig anders als bei Kastri. Es lohnt sich auf jeden Fall mal das Kastri-Projekt API26 und den Blog durchzulesen, um zu verstehen worum es dabei geht. Generell habe ich die Empfehlung das Projekt und die Mainform so clean wie möglich zu halten. Ich habe da quasi gar nichts mehr drin stehen, alle Views und Logic liegen in anderen Units als Unter-Frames/Forms in einem Rectangle auf der MainForm. So kann ich schell mal ein neues, leeres Projekt von der IDE anlegen lassen, und diese dann als neue Basis für meine Apps nehmen. Damit werden oft solche Manifest, Libraries und andere Probleme und Inkompatibilitäten automatisch gelöst, die entstehen wenn man von einer zur nächsten Version wechselt. Rollo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz