OpenNI / OpenNI2

OpenNI2
Apache License 2.0
431 stars 895 forks source link

can't open Device on Nexus 5 with Lollipop 5.0 #91

Open mtamburrano opened 9 years ago

mtamburrano commented 9 years ago

Hi, I'm building an android application that makes use of a Structure Sensor through openni2. I've tested on a OnePlus One with Android 4.4.4 and works nice, but I can't open the device on a nexus 5 with Lollipop 5.0.

On the lines Status rc = device.open(openni::ANY_DEVICE); I obtain the following with OpenNI::getExtendedError(): DeviceOpen using default: no devices found

both phones have OTG enabled and openni::OpenNI::initialize(); return STATUS_OK Maybe there is some incompatibility with shared libraries and Android 5.0?

iainrwilson commented 9 years ago

I ran into the same problem, the issue is the stricter security in Android 5.0.x. SELinux blocks whatever PS1080.so tries to do on initialisation.

My solution was to root my device and set SELinux to permissive:

The link below describes the problem and suggest another workaround with a different libusb version (assuming libusb is the culprit). http://stackoverflow.com/questions/25662307/android-l-libusb-init-returns-libusb-error-other-99

I hope this helps. Iain