question

LeonardHarris-3315 avatar image
0 Votes"
LeonardHarris-3315 asked LeonLu-MSFT commented

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

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



dotnet-xamarin
capture.png (127.7 KiB)
· 1
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Please check the build action of Dagger jar, if the build action is EmbeddedReferenceJar, so that it is included in the final binding assembly.

0 Votes 0 ·

0 Answers