IService binder is always null and constructor never called - Xamarin
Closed this issue · 3 comments
I have been banging my head against this for hours. I call Shizuku.bindUserService(ServiceArgs, connection);
as per the tutorial but this doesn't seem to actually create the service, neither constructor fires and produces logs.
Some system logs do appear in adb and if I change the serviceargs to be wrong (e.g. owned by another app) it throws errors as expected. So what is going on, something is silently failing, what am I doing wrong?
Shizuku is running, the app shows as "authorised 1 application".
This is a xamarin app interfacing with java, most of the logic is in java though.
Apparently there is some delay.
02-18 01:19:04.413 29901 29901 I TranslateFGO: Trying to add.
02-18 01:19:04.417 29901 29901 I TranslateFGO: Addition: -1
02-18 01:19:04.827 1835 3391 D ConnectivityService: NetReassign [no changes] [c 0] [a 0] [i 2]
02-18 01:19:04.975 29901 29901 W monodroid-assembly: open_from_bundles: failed to load assembly Xamarin.Forms.Platform.Android.AppLinks.dll
02-18 01:19:05.068 29901 29901 I ImeTracker: io.rayshift.translatefgo:8e077e82: onRequestHide at ORIGIN_CLIENT_HIDE_SOFT_INPUT reason HIDE_SOFT_INPUT
02-18 01:19:05.069 29901 29901 I ImeTracker: io.rayshift.translatefgo:8e077e82: onFailed at PHASE_CLIENT_VIEW_SERVED
02-18 01:19:05.174 11165 16192 D BinderSender: onUidCachedChanged: uid=10160, cached=true
02-18 01:19:05.358 29901 29966 I FA : Tag Manager is not found and thus will not be used
02-18 01:19:05.362 29901 29901 D CompatibilityChangeReporter: Compat change id reported: 237531167; UID 10269; state: DISABLED
02-18 01:19:05.368 29901 29988 W Parcel : Expecting binder but got null!
02-18 01:19:05.372 1161 2511 I sensors-hal: [ssc_utils]get_qmi_debug_flag:243, support_qmi_debug : false
02-18 01:19:05.382 29901 29901 I TranslateFGO: Bound NGFS.
02-18 01:19:05.383 27111 27134 I TranslateFGO: pid=27111, uid=2000
Maybe OK.
Yeah just add a delay/loop to check for null. Lol I was always trying to immediately use the binder which always crashed.
In case anyone has to deal with Xamarin + Shizuku https://github.com/rayshift/translatefgo/wiki/Shizuku-with-Xamarin-Developer-Guide