【发布时间】:2012-09-28 13:43:17
【问题描述】:
AFAIK 每个安卓应用都安装了自己的用户权限。如果应用 A 包含本机库(即 /data/data/com.app.A/lib/libA.so),我可以使用应用 B 中的 System.load("/data/data/com.app.A/lib/libA.so") 吗?
在我拥有的设备上,/data/data/com.app.A/lib/libA.so 设置了其他人读取权限,因此我可以从另一个应用程序加载它。但这对所有安卓系统都有效吗?
【问题讨论】:
-
为了记录,将功能从一个包暴露给另一个包的正确 Android 方法是构建一个
Service并向它发送意图(或绑定到它)。您甚至可以将其指定为进程中以避免 IPC 惩罚。
标签: android android-ndk shared-libraries