两个Android应用程序如何共享同一Linux用户ID和同一VM?

时间:2018-08-22 18:43:55

标签: android

我在浏览我朋友制作的2个应用程序时观察到它。两个Android应用程序如何共享同一个Linux用户ID和同一个VM?

2 个答案:

答案 0 :(得分:0)

您可以在同一过程中运行它们。您只需要在两个应用程序中为android:sharedUserIdandroid:process分配相同的值,并使用相同的证书进行签名。

来自Android文档

  

android:process

     

进程的名称,其中所有组件   应用程序应该运行。每个组件都可以通过以下方式覆盖此默认设置   设置自己的流程属性。默认情况下,Android创建一个   当应用程序的第一个组件需要   跑。然后,所有组件都在该过程中运行。默认名称   进程与元素设置的包名称匹配。

     

通过将此属性设置为与另一个共享的进程名称   应用程序,您可以安排两个应用程序的组件   在相同的过程中运行-但前提是两个应用程序也共享   用户ID并使用相同的证书进行签名。

     

如果分配给此属性的名称以冒号(':')开头,则   需要时,将创建应用程序专用的新流程。   如果进程名称以小写字母开头,则全局   该名称的进程被创建。可以与全局进程共享   其他应用程序,减少资源使用。

答案 1 :(得分:0)

可以安排两个应用共享相同的Linux用户ID,在这种情况下,它们可以访问彼此的文件。

为了节省系统资源,具有相同用户ID的应用程序还可以安排在相同的Linux进程中运行并共享相同的VM。

这些应用还必须使用相同的证书进行签名。

link上的更多详细信息。