Xamarin java .lang.UnsatisfiedLinkError: Не найдена реализация для void crc64690a6026da756c39.MainApplication.n_onCreate () - PullRequest
1 голос
/ 22 января 2020

Когда мы пытаемся запустить приложение Xamarin в режиме отладки для android на реальном / поддельном устройстве. При запуске приложения выдается какое-то странное исключение.

Это трассировка стека, где она начинает go неправильно:

01-22 13:40:38.394 E/MonoDroid( 4413): Could not load type 'Packing.App.Droid.MainApplication, Packing.App.Android, Version=1.0.0.0, Culture=nl-NL, PublicKeyToken=null'. Skipping JNI registration of type 'crc64690a6026da756c39/MainApplication'.
01-22 13:40:38.398 D/FirebaseApp( 4413): com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
01-22 13:40:38.424 D/FirebaseApp( 4413): com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
01-22 13:40:38.424 D/FirebaseApp( 4413): com.google.android.gms.measurement.AppMeasurement is not linked. Skipping initialization.
01-22 13:40:38.424 I/FirebaseInitProvider( 4413): FirebaseApp initialization successful
01-22 13:40:38.427 E/en.Packing.App( 4413): No implementation found for void crc64690a6026da756c39.MainApplication.n_onCreate() (tried Java_crc64690a6026da756c39_MainApplication_n_1onCreate and Java_crc64690a6026da756c39_MainApplication_n_1onCreate__)
01-22 13:40:38.427 D/AndroidRuntime( 4413): Shutting down VM
01-22 13:40:38.428 E/AndroidRuntime( 4413): FATAL EXCEPTION: main
01-22 13:40:38.428 E/AndroidRuntime( 4413): Process: nl.Packing.App, PID: 4413
01-22 13:40:38.428 E/AndroidRuntime( 4413): java.lang.UnsatisfiedLinkError: No implementation found for void crc64690a6026da756c39.MainApplication.n_onCreate() (tried Java_crc64690a6026da756c39_MainApplication_n_1onCreate and Java_crc64690a6026da756c39_MainApplication_n_1onCreate__)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at crc64690a6026da756c39.MainApplication.n_onCreate(Native Method)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at crc64690a6026da756c39.MainApplication.onCreate(MainApplication.java:34)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1197)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6647)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at android.app.ActivityThread.access$1600(ActivityThread.java:231)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1952)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at android.os.Handler.dispatchMessage(Handler.java:107)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at android.os.Looper.loop(Looper.java:214)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at android.app.ActivityThread.main(ActivityThread.java:7682)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at java.lang.reflect.Method.invoke(Native Method)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
01-22 13:40:38.428 E/AndroidRuntime( 4413):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
**Java.Lang.UnsatisfiedLinkError:** 'Loading...'

01-22 13:40:38.843 D/Mono    ( 4413): DllImport searching in: '__Internal' ('(null)').
01-22 13:40:38.844 D/Mono    ( 4413): Searching for 'java_interop_jnienv_call_void_method_a'.
01-22 13:40:38.844 D/Mono    ( 4413): Probing 'java_interop_jnienv_call_void_method_a'.
01-22 13:40:38.844 D/Mono    ( 4413): Found as 'java_interop_jnienv_call_void_method_a'.
01-22 13:40:59.210 E/mono    ( 4413): Full thread dump:

"<unnamed thread>"  at <unknown> <0xffffffff>
 at (wrapper managed-to-native) System.Diagnostics.Debugger.Mono_UnhandledException_internal     (System.Exception) <0x00007>
 at System.Diagnostics.Debugger.Mono_UnhandledException (System.Exception) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/mcs/class/corlib/System.Diagnostics/Debugger.cs:120
 at Android.Runtime.UncaughtExceptionHandler.UncaughtException (Java.Lang.Thread,Java.Lang.Throwable) [0x00006] in <a94a3bd35e1d47b586702ce8c8a1bd75>:0
 at Java.Lang.Thread/IUncaughtExceptionHandlerInvoker.n_UncaughtException_Ljava_lang_Thread_Ljava_lang_Throwable_ (intptr,intptr,intptr,intptr) [0x0001c] in <a94a3bd35e1d47b586702ce8c8a1bd75>:0
 at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.1 (intptr,intptr,intptr,intptr) [0x0001d] in <a94a3bd35e1d47b586702ce8c8a1bd75>:0
 at (wrapper native-to-managed) Android.Runtime.DynamicMethodNameCounter.1 (intptr,intptr,intptr,intptr) [0x00035] in <a94a3bd35e1d47b586702c
e8c8a1bd75>:0

"Debugger agent"
"Finalizer"

Странная вещь в том, что мы можем встроить и запустить отладку в VS2017, но он не работает в 2019 году и не работает, когда мы выпускаем отладочную сборку в корыте Appcenter Azure devops.

Приложение также работает в безупречно UWP ...

I попытался также удалить Base из Base.OnCreate(), как это было предложено в другом вопросе о стековом потоке

РЕДАКТИРОВАТЬ: В конечном итоге я использовал VS2017 и пул агентов VS2017 в Azure Devops. Причина этого в том, что срок службы вне приложения ограничен и не будет развиваться дальше.

...