Embarcadero Rad Studio android Приложение Google Maps - PullRequest
0 голосов
/ 24 марта 2020

Я сделал простое приложение Google Map, которое вызывает URL-адрес карты из элемента управления веб-браузера, и это работало хорошо, но теперь я пытаюсь добавить больше функций во второе приложение с помощью элемента управления TMapView, но не могу получить новый приложение для запуска.

Я использую 32-разрядную Android с телефоном LG Q7 + и RAD Studio 10.3.3

Это также происходит с примерами выбора типа карты в версиях C ++ и Pascal, поэтому Я думаю, что это как-то связано с FMX.Maps. Android.

Я тоже попробовал это с моим первым рабочим проектом, но как только я добавил элемент управления TMapView с правильными настройками и собрал его, он просто так же вылетает с нулевой ошибкой в ​​строке 1525 в FMX.Maps . Android .pas файл. Это определенно не мой код:)

Самый минимальный пример, который я предполагаю, будет создать проект c ++ с элементом управления TMapView и заполнить необходимые настройки и запустить или просто запустить образец выбора типа карты с Android 32-битное устройство.

Я добавил все необходимые разрешения на использование для приложения, добавил разрешение на службу карт Google, добавил мой специальный ключ API, как и все статьи, с которыми мне приходилось сталкиваться, которые нужно сделать для запуска приложения, но я просто получить кратер sh:

"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 crash

Я связался с соответствующими SDK из того, что могу сказать. Даже безуспешно попробовал несколько java SDK версий, тот же самый cra sh. Я не вижу ничего плохого в стеке вызовов, но я определенно не программист java или pascal в любом случае и довольно плохо знаком с RAD Studio.

Глядя на монитор android, единственное, что бросается в глаза и выглядит как возможная ошибка аутентификации:

"unable to connect to service com.google.android.gms.auth.key.retrieval.service.start" 

, но я не могу быть наверняка и как Я уже говорил, я следовал инструкциям по установке. Я ссылаюсь на статьи по установке, за которыми следовал ниже:

http://docwiki.embarcadero.com/RADStudio/Rio/en/Mobile_Tutorial: _ Using_a_Map_Component_to_Work_with_Maps_ (iOS_and_ Android)

http://docwiki.embarcadero.com/RADStudio/Rio/en/Configuring_Android_Applications_to_Use_Google_Maps

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)

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 29 марта 2020

Dave Nottage понял это - ссылка ниже:

"Некоторые примеры приложений нуждаются в обновлении, чтобы использовать новые библиотеки Google Play Services. Для этого в Диспетчере проектов в разделе« Целевые платформы »разверните цель Android платформу, щелкните правой кнопкой мыши библиотеки и выберите «Восстановить системные файлы по умолчанию». Перестройте приложение, и все должно быть в порядке. "

https://www.delphiworlds.com/2019/02/a-fix-for-using-tmapview-on-android-9-devices/#comment -9841

...