1.通过content Provider/sharedPreferrence
2.通过shareUserId
我们详细介绍一下shareUserId:
Android App Sandbox(android沙箱机制)
我们知道 Linux 中的 Sandbox 主要做隔离工作,将不同任务或用户间的耦合降到最低。Android 应用也借用了 Linux Sandbox技术,将不同 APP 之间做了隔离;APP 之间的隔离主要是资源隔离和权限访问隔离。
每个 Android APP 都运行在他们自己的 Linux 线程中(UID不同),每个应用程序彼此独立,默认情况下无法访问其他应用程序资源。 APP 权限机制为应用程序之间的资源互访提供了可行性,APP必须申请到权限并经过用户授权后才能访问 Android 系统 API 或 其他阴功程序的服务。
如果两个 Android App 运行在同一个进程里(此时的 UID 是相同的),可以共享数据和代码。
如何让两个 APP 运行在同一个进程里?
- 首先,两个 APP 要用相同的 private key 来签名
- 然后,添加两个APP manifest.xml 文件中属性 android:sharedUserId,均设置为相同的值或名字(其实是设置成相同的UID)。