Android文件系统的“vendor”文件夹

时间:2016-06-29 07:37:11

标签: android ios shared-libraries .so

我正在开发一个Android应用程序,使用 OTG 电缆 Android 设备与 iOS 设备进行通信。我使用的是 Android 端口版libimobiledevice library。该库包含共享库(.so文件)和二进制可执行文件,以使用 usbmuxd 的概念在Android和iOS设备之间建立通信。

此库需要将某些.so文件(共享库)安装到“/ vendor / lib”位置,并将某些二进制可执行文件安装到“/ vendor / bin”< / strong>即可。经过研究,我了解到如果Android设备 rooted ,则可以访问这些位置。

我有以下问题:

  1. 为什么libimobildevice库需要 root权限?通常,通过将共享库文件放在“ vendor ”文件夹中,可以获得哪些类型的优势(在权限方面)?
  2. Android设备的文件系统上是否有与“vendor”文件夹中的put文件相同的位置?
  3. 我已经在我的MOTO-X上测试了这个库没有root ,我无法从我的Android应用程序中检测到附加的iOS设备。

    我很感激有关此主题的任何建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

从您链接的github repo,安装位置可以更改(在android / install.sh中),您是否尝试过安装任何其他位置(如SD卡或数据)?

对于你的问题:

    使用 rootfs
  1. 供应商文件夹进行了标记,并链接到 system / vendor ,并使用 system_file ,此位置的访问权限由SEAndroid sepolicy控制。

    ls -Z供应商
    lrwxrwxrwx root root u:object_r:rootfs:s0 vendor - &gt; /系统/销售商
    ls -Z系统
    drwxr-xr-x root shell u:object_r:system_file:s0 vendor

  2. 我建议您先尝试其他地点。或者尝试在jni中使用它     方式是什么?

  3. 希望这可以提供帮助。