我在浏览我朋友制作的2个应用程序时观察到它。两个Android应用程序如何共享同一个Linux用户ID和同一个VM?
答案 0 :(得分:0)
您可以在同一过程中运行它们。您只需要在两个应用程序中为android:sharedUserId
和android:process
分配相同的值,并使用相同的证书进行签名。
来自Android文档
android:process
进程的名称,其中所有组件 应用程序应该运行。每个组件都可以通过以下方式覆盖此默认设置 设置自己的流程属性。默认情况下,Android创建一个 当应用程序的第一个组件需要 跑。然后,所有组件都在该过程中运行。默认名称 进程与元素设置的包名称匹配。
通过将此属性设置为与另一个共享的进程名称 应用程序,您可以安排两个应用程序的组件 在相同的过程中运行-但前提是两个应用程序也共享 用户ID并使用相同的证书进行签名。
如果分配给此属性的名称以冒号(':')开头,则 需要时,将创建应用程序专用的新流程。 如果进程名称以小写字母开头,则全局 该名称的进程被创建。可以与全局进程共享 其他应用程序,减少资源使用。
答案 1 :(得分:0)
可以安排两个应用共享相同的Linux用户ID,在这种情况下,它们可以访问彼此的文件。
为了节省系统资源,具有相同用户ID的应用程序还可以安排在相同的Linux进程中运行并共享相同的VM。
这些应用还必须使用相同的证书进行签名。
此link上的更多详细信息。