Я сделал простое приложение карты Google, которое вызывает URL-адрес карты из элемента управления веб-обозревателем, и это работало хорошо, но теперь я пытаюсь добавить больше функций во второе приложение с помощью элемента управления TMapView, но я не могу запустить свое новое приложение .
Я использую 32-разрядную версию Android с телефоном LG Q7 + и RAD Studio 10.3.3.
Это также происходит с образцом выбора типа карты в версиях C ++ и Pascal, поэтому я думаю, что это должно иметь какое-то отношение к FMX.Maps.Android.
Я тоже пробовал это со своим первым рабочим проектом, но как только я добавил элемент управления TMapView с правильными настройками и построил его, он просто вылетает точно так же с нулевой ошибкой в строке 1525 в файле FMX.Maps.Android.pas. Это точно не мой код :)
Самым минимальным примером, я полагаю, было бы создание проекта C ++ с элементом управления TMapView, заполнение необходимых параметров и запуск или просто запуск образца Map Type Selector с 32-разрядным устройством Android.
Я добавил все необходимые разрешения на использование приложения, добавил право на использование картографической службы Google, а также добавил свой специальный ключ API, как и все статьи, с которыми я столкнулся, говорят, что нужно сделать для запуска приложения, но я просто получаю сбой:
"Project map_cpp.apk raised exception class EJNIException with message 'java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.ClassLoader java.lang.Class.getClassLoader()' on a null object reference'.
Снимок экрана: https://i.imgur.com/OVwpSlY.png
Я связался с соответствующими SDK, насколько я могу судить. Даже безуспешно пробовал несколько версий java SDK, тот же сбой. Я не вижу ничего плохого в стеке вызовов, но я определенно не являюсь программистом на java или паскаль ни в коем случае и довольно новичок в RAD Studio.
Глядя на монитор Android, единственное, что мне бросается в глаза и выглядит как возможная ошибка аутентификации:
"unable to connect to service com.google.android.gms.auth.key.retrieval.service.start"
но я не могу быть уверен в этом, и, как я уже сказал ранее, я следовал онлайн-руководствам по настройке. Я даю ссылку на статьи по настройке, за которыми следил ниже:
http://docwiki.embarcadero.com/
Журнал монитора Android:
03-28 09:45:57.559: I/rcadero.map_cp(28426): The ClassLoaderContext is a special shared library.
03-28 09:45:57.681: D/PhoneWindow(28426): windowLightStatusBar : false, disable View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
03-28 09:45:57.815: I/C:\src\rtl\source\startup\startup_android.cpp(28426): ###################### Calling __initialize_pascal_units
03-28 09:45:57.815: I/C:\src\rtl\source\startup\startup_android.cpp(28426): ### __initialize_pascal_units: start
03-28 09:45:57.815: I/C:\src\rtl\source\startup\startup_android.cpp(28426): ### _embtinit_start: 0x0x89491450 _embtinit_end: 0x0x89494884
03-28 09:45:58.345: I/C:\src\rtl\source\startup\startup_android.cpp(28426): ### __initialize_pascal_units: finished
03-28 09:45:58.431: D/OpenGLRenderer(28426): Skia GL Pipeline
03-28 09:45:58.701: I/Adreno(28426): QUALCOMM build : f161b04, I0380b38922
03-28 09:45:58.701: I/Adreno(28426): Build Date : 04/06/19
03-28 09:45:58.701: I/Adreno(28426): OpenGL ES Shader Compiler Version: EV031.25.03.03
03-28 09:45:58.701: I/Adreno(28426): Local Branch : mybranche9580cbd-6698-f10a-bcc9-1458d0b52ae8
03-28 09:45:58.701: I/Adreno(28426): Remote Branch : quic/gfx-adreno.lnx.1.0.r52-rel
03-28 09:45:58.701: I/Adreno(28426): Remote Branch : NONE
03-28 09:45:58.701: I/Adreno(28426): Reconstruct Branch : NOTHING
03-28 09:45:58.701: I/Adreno(28426): Build Config : S L 6.0.7 AArch32
03-28 09:45:58.705: I/Adreno(28426): PFP: 0x005ff110, ME: 0x005ff066
03-28 09:45:58.712: I/ConfigStore(28426): android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
03-28 09:45:58.713: I/ConfigStore(28426): android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
03-28 09:45:58.762: W/System.err(28426): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.ClassLoader java.lang.Class.getClassLoader()' on a null object reference
03-28 09:45:58.762: W/System.err(28426): at com.embarcadero.rtl.ProxyInterface.CreateProxyClass(ProxyInterface.java:16)
03-28 09:45:58.762: W/System.err(28426): at android.app.NativeActivity.onStartNative(Native Method)
03-28 09:45:58.763: W/System.err(28426): at android.app.NativeActivity.onStart(NativeActivity.java:223)
03-28 09:45:58.763: W/System.err(28426): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1392)
03-28 09:45:58.763: W/System.err(28426): at android.app.Activity.performStart(Activity.java:7180)
03-28 09:45:58.763: W/System.err(28426): at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3045)
03-28 09:45:58.764: W/System.err(28426): at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
03-28 09:45:58.764: W/System.err(28426): at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
03-28 09:45:58.764: W/System.err(28426): at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
03-28 09:45:58.764: W/System.err(28426): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
03-28 09:45:58.765: W/System.err(28426): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1864)
03-28 09:45:58.765: W/System.err(28426): at android.os.Handler.dispatchMessage(Handler.java:106)
03-28 09:45:58.765: W/System.err(28426): at android.os.Looper.loop(Looper.java:205)
03-28 09:45:58.765: W/System.err(28426): at android.app.ActivityThread.main(ActivityThread.java:6991)
03-28 09:45:58.765: W/System.err(28426): at java.lang.reflect.Method.invoke(Native Method)
03-28 09:45:58.766: W/System.err(28426): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
03-28 09:45:58.766: W/System.err(28426): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:884)
Спасибо за любую помощь!