Android L 5.0和libusb 1.0.9 – 没有权限?

我目前有一个Android应用程序通过USB OTG连接到设备。 使用libusb 1.0.9进行通信,并且它对于api级别<21的其他设备运行良好。(由于性能问题,通信必须是本机)在Android L下运行应用程序时,我从libusb_init收到以下错误(空值):

type=1400 audit(0.0:107): avc: denied { read } for name="usb" dev="tmpfs" ino=24433 scontext=u:r:untrusted_app:s0 tcontext=u: object_r:usb_device:s0 tclass=dir A/libc(12605): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 12605 (mapp.sdk.sample) 

我正在使用我的Nexus 5上的最新NDK 10c编译libusb 1.0.9。我不认为这是ART运行时问题,因为该应用程序适用于Android 4.4.4,启用ART而不是Dalvik。 有谁熟悉这个问题? ( 这看起来很相似)这可能与PIE有关吗?

谢谢。

我上传了一个有效的解决方案。 它基于libusb 1.0.9并与Lollipop合作。

https://github.com/Gritzman/libusb