目录
shareUserId简介
在学习shareUserId之前我们先了解一下Android App Sandbox(android沙箱机制)。在Linux中的Sandbox主要做隔离工作,将不同的任务或者用户间的耦合降到最低。Android应用也借用了Linux Sandbox技术,将不同的APP之间做客隔离,其主要表现就是资源和权限访问隔离。每个Android APP都运行在他们自己的Linux线程中(UID不同),每个应用程序彼此独立,默认情况下无法访问其他应用程序资源。APP权限机制为应用程序之间资源的互访提供了可能性,APP必须申请权限并经过用户的授权才能访问Android系统API或者其他服务。
通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。所以默认就是可以互相访问任意数据。 也可以配置成运行成不同的进程,同时可以访问其他APK的数据目录下的数据库和文件,就像访问本程序的数据一样。
shareUserId设置方法
在需要共享资源的项目的每个AndroidMainfest.xml中添加shareuserId的标签。
android:sharedUserId="com.example.XX"
id名自由设置,但必须保证每个项目都使用了相同的sharedUserId。一个mainfest只能有一个Shareuserid标签。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.shareusertesta"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="com.example">
shareUserId的作用之获取系统权限
step1.在AndroidManifest.xml中添加android:sharedUserId = "android.uid.system"
s