RikkaApps / Shizuku-API

The API and the developer guide for Shizuku and Sui.
MIT License
950 stars 223 forks source link

IService binder is always null and constructor never called - Xamarin #74

Closed neobenedict closed 6 months ago

neobenedict commented 6 months ago

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.

neobenedict commented 6 months ago

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.

neobenedict commented 6 months ago

Yeah just add a delay/loop to check for null. Lol I was always trying to immediately use the binder which always crashed.

neobenedict commented 6 months ago

In case anyone has to deal with Xamarin + Shizuku https://github.com/rayshift/translatefgo/wiki/Shizuku-with-Xamarin-Developer-Guide