![]() |
Delphi 10.2.3 VERSUS Delphi 10.3.2 - TMapView
Hallo Zusammen!
Mit der Version 10.3.2 scheint die TMapView für Android nicht mehr zu funktionieren. Die App bleibt im Splashscreen hängen. Dasselbe Projekt in Version 10.2.3 (einfaches Formular + TMapview + ApiKey + entsprechende Berechtigungen) funktioniert hingegen, also öffnet sich normal auf dem Smartphone. (Android 8 und 9 getestet). Hat jemand dasselbe Problem? Wie bekommt man das unter 10.3.2 zum Laufen? |
AW: Delphi 10.2.3 VERSUS Delphi 10.3.2 - TMapView
![]() ![]() Du brauchst - gültiger ApiKey - entsprechende Berechtigungen) mit der neuen RequestPermissions Abfrage - Entitlements Maps |
AW: Delphi 10.2.3 VERSUS Delphi 10.3.2 - TMapView
Danke für den Hinweis. Daran wird es wohl liegen. Bislang klappt es aber noch nicht.
Das neue Android Permission Model wurde in dieser Demo umgesetzt: "Object Pascal/Multi-Device Samples/Device Sensors and Services/Map Type Selector". Die aktuelle Version der Demo habe ich hier geladen, um auszuschließen, dass der Fehler in meinem Code liegt: ![]() Den ApiKey habe ich bei den Versionsinfos eingetragen. Folgende Meldung :"[PAClient Fehler] Fehler: E4104 C:\Users\Public\Documents\Embarcadero\Studio\20.0\ CatalogRepository\AndroidNDK-17b_20.0.34749.6593\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-strip.exe:C:\Users\[name]\Documents\Embarcadero\Studio\Projekte\RADStudio10 .3.2Demos-master\RADStudio10.3.2Demos-master\Object Pascal\Multi-Device Samples\Device Sensors and Services\Map Type Selector\Android\Release\Map_ObjectPascal\library\ lib\armeabi-v7a\libMap_ObjectPascal.so: No such file or directory" Die "arm-linux-androideabi-strip.exe" ist aber genau an dem Ort. Wäre dankbar für weitere Ratschläge (auf meinem Testgerät läuft Android 9) |
AW: Delphi 10.2.3 VERSUS Delphi 10.3.2 - TMapView
Sind im SDK Manager alle Einträge SDK/NDK/JDK korrekt (keine gelbes Dreiecke, und wenn Du den Dateilladen button drückst ist er im richtigen Verzeichnis) ?
Die AndroidNDK-17b_20.0.34749.6593 und SDK liegen u.U. an doch anderen Stellen, wenn Du das neben das alte 10.3.2 installiert hast. Ich mache immer einen cleanen Install in eine VM, da wird dann alles so wie von -Setup vorgeshen installiert. |
AW: Delphi 10.2.3 VERSUS Delphi 10.3.2 - TMapView
Danke. Keine gelben Dreiecke und die Basispfade sind alle korrekt und führen auch dahin, wo sie sollen. Vielleicht hilft wirklich nur ein cleaner Install..
|
AW: Delphi 10.2.3 VERSUS Delphi 10.3.2 - TMapView
Vielleicht kopierst Du dir das Projekt "Map Type Selector" an einen freundlicheren Ort,
so dass Du nicht diese ellenlange Pfade hast. Bin mir nicht sicher, sind da Spaces drin ? Am Besten mal Alles in dem Verzeichnis in ein einfaches Verzeichnis kopieren C:\Map\ und dann darin das .dproj öffen und nochmal versuchen zu kompilieren. Ich habe die Beispiele jetzt nicht getestet, aber ich kopiere mir die Relevanten eigentlich immer nach D:\Samples oder so ähnlich, damit man nicht bei den Pfaden die Übersicht verliert. Müsste eigentlich trotzdem funktionieren, aber einen Versuch wäre mir das Wert. Kompiliert es denn unter Windows ? |
AW: Delphi 10.2.3 VERSUS Delphi 10.3.2 - TMapView
Nach einer sauberen Neuinstallation habe ich keine Probleme mehr mit dem SDK Manager. Auch der Pfad zum Projekt ist radikal runtergekürzt.
Trotzdem bekomme ich eine einfache Karte auf Android 9 nicht zum Laufen (bei Android 8 klappt es). Zu meinem Testprojekt: im Form liegt nur eine TMapview in der Berechtigungsliste ist der Kartendienst auf true die Berechtigungen: Internet, genauer Standort, ungefährer Standort ein gültiger API Key ist in den Versionsinformationen eingetragen Folgender Code in der .pas (auf Basis der aktuellen Demo "Map Type Selector" mit der neuen RequestPermissions Abfrage):
Code:
Meine Testgeräte:
unit Unit1;
interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, System.Permissions, FMX.Controls.Presentation, FMX.StdCtrls, FMX.Layouts, FMX.ListBox, FMX.Edit, FMX.Maps; type TForm1 = class(TForm) MapView1: TMapView; procedure FormCreate(Sender: TObject); private { Private declarations } FPermissionFineLocation: string; procedure LocationPermissionRequestResult(Sender: TObject; const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>); public { Public declarations } end; var Form1: TForm1; implementation uses {$IFDEF ANDROID} Androidapi.Helpers, Androidapi.JNI.JavaTypes, Androidapi.JNI.Os, {$ENDIF} FMX.DialogService; {$R *.fmx} procedure TForm1.FormCreate(Sender: TObject); begin {$IFDEF ANDROID} FPermissionFineLocation := JStringToString(TJManifest_permission.JavaClass.ACCESS_FINE_LOCATION); {$ENDIF} PermissionsService.RequestPermissions([FPermissionFineLocation], LocationPermissionRequestResult); end; procedure TForm1.LocationPermissionRequestResult(Sender: TObject; const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>); begin // 2 permissions involved: ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then begin MapView1.ControlOptions := MapView1.ControlOptions + [TMapControlOption.MyLocation]; MapView1.LayerOptions := MapView1.LayerOptions + [TMapLayerOption.UserLocation]; end; end; end. - Samsung S5 mit Lineage auf Basis von Android 8: die App startet korrekt - ein Fairphone 2 mit Lineage auf Basis von Android 9: die App startet nicht Was mache ich mit dieser Debugger Meldung (nur Andriod 9)? Erste Gelegenheit für Exception bei $8CD1E0A1. Exception-Klasse EJNIException mit Meldung 'java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />'. Prozess Project1.apk (19416) Die geänderte Manifest XML schaut jetzt so aus:
Code:
Das brachte auch keinen Erfolg
<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="%package%" android:versionCode="%versionCode%" android:versionName="%versionName%" android:installLocation="%installLocation%"> <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> <%uses-permission%> <uses-feature android:glEsVersion="0x00020000" android:required="True"/> <application android:persistent="%persistent%" android:restoreAnyVersion="%restoreAnyVersion%" android:label="%label%" android:debuggable="%debuggable%" android:largeHeap="%largeHeap%" android:icon="%icon%" android:theme="%theme%" android:hardwareAccelerated="%hardwareAccelerated%" android:resizeableActivity="false"> <%provider%> <%application-meta-data%> <%services%> <!-- Our activity is a subclass of the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:launchMode="singleTask"> <!-- Tell NativeActivity the name of our .so --> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <%activity%> <%receivers%> </application> </manifest> <!-- END_INCLUDE(manifest) --> |
AW: Delphi 10.2.3 VERSUS Delphi 10.3.2 - TMapView
Google Services installiert / aktiviert?
LineageOS ohne GApps funktioniert halt nicht.... |
AW: Delphi 10.2.3 VERSUS Delphi 10.3.2 - TMapView
GApps ist auf beiden Testgeräten drauf. PlayStore, GoogleKonto, Mail, Maps usw. laufen.
|
AW: Delphi 10.2.3 VERSUS Delphi 10.3.2 - TMapView
Die projektspezifische Android Template Datei mal löschen-> neu erstellen lassen/einstellen..
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 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