Android Binding Library - Java.Lang.NoSuchMethodError: 'No static method checkNotNullFromProvides(Ljava/lang/Object;)Ljava/lang/Object;

Leonard Harris 6 Reputation points
2021-03-10T12:04:14.56+00:00

Hi all, having an issue with Dagger in my Xamarin android binding library and I would be very grateful for some support!

I basically cant get around this exception, I have the dagger jar file in my binding library and I can even see in the jar file that the static method exists but cant understand why it cannot find it? I have installed the Xamarin.Google.Dagger plugin into my Xamarin app project and have the reference on the dagger binding project with the jar file also being referenced in other binding libs that use it. My project builds but this is a runtime exception.

The static method definitely exists in the dagger jar included in the binding android project (not in the Xamarin.Google.Dagger as I did check) but why cannot it not be found and why it is throwing exception?

76312-capture.png

Full Exception here:

   csharp  
   [AndroidRuntime] Shutting down VM  
   [AndroidRuntime] FATAL EXCEPTION: main  
   [AndroidRuntime] Process: com.companyname.test, PID: 13541  
   [AndroidRuntime] java.lang.NoSuchMethodError: No static method checkNotNullFromProvides(Ljava/lang/Object;)Ljava/lang/Object; in class Ldagger/internal/Preconditions; or its super classes (declaration of 'dagger.internal.Preconditions' appears in /data/app/com.companyname.test-bdQmKIKx8inKfkzpRSr5Lw==/base.apk)  
   [AndroidRuntime]  at sqip.internal.HttpModule_MoshiFactory.moshi(HttpModule_MoshiFactory.java:23)  
   [AndroidRuntime]  at sqip.internal.HttpModule_MoshiFactory.get(HttpModule_MoshiFactory.java:15)  
   [AndroidRuntime]  at sqip.internal.HttpModule_MoshiFactory.get(HttpModule_MoshiFactory.java:8)  
   [AndroidRuntime]  at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)  
   [AndroidRuntime]  at sqip.internal.HttpModule_CreateCardNonceErrorResponseAdapterFactory.get(HttpModule_CreateCardNonceErrorResponseAdapterFactory.java:24)  
   [AndroidRuntime]  at sqip.internal.HttpModule_CreateCardNonceErrorResponseAdapterFactory.get(HttpModule_CreateCardNonceErrorResponseAdapterFactory.java:11)  
   [AndroidRuntime]  at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)  
   [AndroidRuntime]  at sqip.internal.nonce.RealCreateCardNonceRequestHandler_Factory.get(RealCreateCardNonceRequestHandler_Factory.java:44)  
   [AndroidRuntime]  at sqip.internal.nonce.RealCreateCardNonceRequestHandler_Factory.get(RealCreateCardNonceRequestHandler_Factory.java:12)  
   [AndroidRuntime]  at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)  
   [AndroidRuntime]  at sqip.internal.nonce.ActivityControllerModule_CardEntryActivityControllerFactory.get(ActivityControllerModule_CardEntryActivityControllerFactory.java:36)  
   [AndroidRuntime]  at sqip.internal.nonce.ActivityControllerModule_CardEntryActivityControllerFactory.get(ActivityControllerModule_CardEntryActivityControllerFactory.java:11)  
   [AndroidRuntime]  at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)  
   [AndroidRuntime]  at sqip.internal.nonce.DaggerCardEntryActivityComponent.cardEntryActivityController(DaggerCardEntryActivityComponent.java:160)  
   [AndroidRuntime]  at sqip.internal.BaseCardEntryActivity.onCreate(BaseCardEntryActivity.kt:132)  
   [AndroidRuntime]  at sqip.internal.CardEntryActivity.onCreate(CardEntryActivity.kt:38)  
   [AndroidRuntime]  at android.app.Activity.performCreate(Activity.java:7802)  
   [AndroidRuntime]  at android.app.Activity.performCreate(Activity.java:7791)  
   [AndroidRuntime]  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)  
   [AndroidRuntime]  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)  
   [AndroidRuntime]  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)  
   [AndroidRuntime]  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)  
   [AndroidRuntime]  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)  
   [AndroidRuntime]  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)  
   [AndroidRuntime]  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)  
   [AndroidRuntime]  at android.os.Handler.dispatchMessage(Handler.java:107)  
   [AndroidRuntime]  at android.os.Looper.loop(Looper.java:214)  
   [AndroidRuntime]  at android.app.ActivityThread.main(ActivityThread.java:7356)  
   [AndroidRuntime]  at java.lang.reflect.Method.invoke(Native Method)  
   [AndroidRuntime]  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)  
   [AndroidRuntime]  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)  
   [Mono] DllImport searching in: '__Internal' ('(null)').  
   [Mono] Searching for 'java_interop_jnienv_call_object_method'.  
   [Mono] Probing 'java_interop_jnienv_call_object_method'.  
   [Mono] Found as 'java_interop_jnienv_call_object_method'.  
   [Mono] DllImport attempting to load: '/system/lib/liblog.so'.  
   [Mono] DllImport loaded library '/system/lib/liblog.so'.  
   [Mono] DllImport searching in: '/system/lib/liblog.so' ('/system/lib/liblog.so').  
   [Mono] Searching for '__android_log_print'.  
   [Mono] Probing '__android_log_print'.  
   [Mono] Found as '__android_log_print'.  
   [MonoDroid] UNHANDLED EXCEPTION:  
   [MonoDroid] Java.Lang.NoSuchMethodError: No static method checkNotNullFromProvides(Ljava/lang/Object;)Ljava/lang/Object; in class Ldagger/internal/Preconditions; or its super classes (declaration of 'dagger.internal.Preconditions' appears in /data/app/com.companyname.test-bdQmKIKx8inKfkzpRSr5Lw==/base.apk)  
   [MonoDroid]   --- End of managed Java.Lang.NoSuchMethodError stack trace ---  
   [MonoDroid] java.lang.NoSuchMethodError: No static method checkNotNullFromProvides(Ljava/lang/Object;)Ljava/lang/Object; in class Ldagger/internal/Preconditions; or its super classes (declaration of 'dagger.internal.Preconditions' appears in /data/app/com.companyname.test-bdQmKIKx8inKfkzpRSr5Lw==/base.apk)  
   [MonoDroid]  at sqip.internal.HttpModule_MoshiFactory.moshi(HttpModule_MoshiFactory.java:23)  
   [MonoDroid]  at sqip.internal.HttpModule_MoshiFactory.get(HttpModule_MoshiFactory.java:15)  
   [MonoDroid]  at sqip.internal.HttpModule_MoshiFactory.get(HttpModule_MoshiFactory.java:8)  
   [MonoDroid]  at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)  
   [MonoDroid]  at sqip.internal.HttpModule_CreateCardNonceErrorResponseAdapterFactory.get(HttpModule_CreateCardNonceErrorResponseAdapterFactory.java:24)  
   [MonoDroid]  at sqip.internal.HttpModule_CreateCardNonceErrorResponseAdapterFactory.get(HttpModule_CreateCardNonceErrorResponseAdapterFactory.java:11)  
   [MonoDroid]  at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)  
   [MonoDroid]  at sqip.internal.nonce.RealCreateCardNonceRequestHandler_Factory.get(RealCreateCardNonceRequestHandler_Factory.java:44)  
   [MonoDroid]  at sqip.internal.nonce.RealCreateCardNonceRequestHandler_Factory.get(RealCreateCardNonceRequestHandler_Factory.java:12)  
   [MonoDroid]  at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)  
   [MonoDroid]  at sqip.internal.nonce.ActivityControllerModule_CardEntryActivityControllerFactory.get(ActivityControllerModule_CardEntryActivityControllerFactory.java:36)  
   [MonoDroid]  at sqip.internal.nonce.ActivityControllerModule_CardEntryActivityControllerFactory.get(ActivityControllerModule_CardEntryActivityControllerFactory.java:11)  
   [MonoDroid]  at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)  
   [MonoDroid]  at sqip.internal.nonce.DaggerCardEntryActivityComponent.cardEntryActivityController(DaggerCardEntryActivityComponent.java:160)  
   [MonoDroid]  at sqip.internal.BaseCardEntryActivity.onCreate(BaseCardEntryActivity.kt:132)  
   [MonoDroid]  at sqip.internal.CardEntryActivity.onCreate(CardEntryActivity.kt:38)  
   [MonoDroid]  at android.app.Activity.performCreate(Activity.java:7802)  
   [MonoDroid]  at android.app.Activity.performCreate(Activity.java:7791)  
   [MonoDroid]  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)  
   [MonoDroid]  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)  
   [MonoDroid]  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)  
   [MonoDroid]  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)  
   [MonoDroid]  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)  
   [MonoDroid]  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)  
   [MonoDroid]  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)  
   [MonoDroid]  at android.os.Handler.dispatchMessage(Handler.java:107)  
   [MonoDroid]  at android.os.Looper.loop(Looper.java:214)  
   [MonoDroid]  at android.app.ActivityThread.main(ActivityThread.java:7356)  
   [MonoDroid]  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)  
   [MonoDroid]  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)  
   [MonoDroid]   
   [Process] Sending signal. PID: 13541 SIG: 9  
Xamarin
Xamarin
A Microsoft open-source app platform for building Android and iOS apps with .NET and C#.
5,295 questions
{count} votes