AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Rio 10.3 Java Class JCameraPosition_Builder not found
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Rio 10.3 Java Class JCameraPosition_Builder not found

Ein Thema von AuronTLG · begonnen am 4. Jan 2019 · letzter Beitrag vom 7. Jan 2019
Antwort Antwort
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
269 Beiträge
 
Delphi 12 Athens
 
#1

Delphi Rio 10.3 Java Class JCameraPosition_Builder not found

  Alt 4. Jan 2019, 12:43
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?).
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found

  Alt 4. Jan 2019, 15:42
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.
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
269 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found

  Alt 4. Jan 2019, 17:26
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.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#4

AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found

  Alt 5. Jan 2019, 10:06
Also Änderung gibt es in der Anwendung, es müssen bei "dangerous permissions" diese bei bestimmten Aktionen vorher abgefragt werden.
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
269 Beiträge
 
Delphi 12 Athens
 
#5

AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found

  Alt 7. Jan 2019, 09:44
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.
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
269 Beiträge
 
Delphi 12 Athens
 
#6

AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found

  Alt 7. Jan 2019, 13:01
Ich habe inzwischen die Fehlerstelle lokalisiert, welche in FMX.Maps.Android liegt:

Zeile 615

Code:
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;
Sobald diese Methode ausgeführt wird, tritt der Fehler auf, was seltsam ist, da die angeblich nicht gefundene Javaklasse normal integriert zu sein scheint.
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...
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
269 Beiträge
 
Delphi 12 Athens
 
#7

AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found

  Alt 7. Jan 2019, 15:32
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...
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
269 Beiträge
 
Delphi 12 Athens
 
#8

AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found

  Alt 7. Jan 2019, 15:56
Die nervigsten Probleme sind auch immer die bescheuertsten...

Das hier war das Problem -> http://docwiki.embarcadero.com/RADSt...tes_Workaround


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...
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#9

AW: Delphi Rio 10.3 Java Class JCameraPosition_Builder not found

  Alt 7. Jan 2019, 17:50
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 KastriFree Projekt in Frage um die Permissions ans Laufen zu bringen.

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
  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 16:35 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