libgbinder
libgbinder copied to clipboard
Cannot add services to vndservicemanager
On a HALIUM device i'm unable to register services to /dev/vndbinder
.
My device is a Volla Phone 22, HALIUM 11, running either SailfishOS or Ubuntu Touch
Using the python bindings i can reproduce with this snippet:
import gbinder
serviceManager = gbinder.ServiceManager("/dev/vndbinder")
response = serviceManager.new_local_object("org.foo.bar", lambda x,y,z: print(x,y,z))
serviceManager.add_service_sync("foobar", response)
On my desktop running the vndservicemanager from Waydroid I can register services just fine. But on the Volla Phone 22 using vndservicemanager from Waydroid doesn't help.
This appears to come down to VNDK vs VNDK-lite. With full VNDK it expects 'VNDR' in the header https://github.com/mer-hybris/libgbinder/blob/885d27c12c52eab96cf8155636bf2d3d0fca05f5/src/gbinder_rpc_protocol.c#L191
It works with Waydroid on my desktop because Waydroid runs as vndk-lite except on HALIUM