这听起来像是一个模糊的问题,但我不得不问。

我是一名初学者android开发人员,刚开始了解android中进程间通信的工作原理。
如果在2个应用程序中使用了相同的shareduserid,则它们有权访问彼此的数据,这意味着我可以反编译任何apk,从清单中查找其shareduserid,并使用相同的shareduserid创建我的应用程序以访问其数据。

我想念什么吗?

如果将来我要创建2个应用程序(一起工作,从而暴露了shareduserid),应该如何确保数据安全?

最佳答案

共享用户ID由证书签名强制执行。仅当使用相同证书对应用程序进行签名时,平台才会授予/分配相同的用户ID。 Ref .:


  android:sharedUserId
  
  将与其他应用程序共享的Linux用户ID的名称。默认情况下,Android为每个应用程序分配其自己的唯一用户ID。但是,如果将两个或多个应用程序的此属性设置为相同的值,则它们都将共享相同的ID(前提是它们也由同一证书签名)。具有相同用户ID的应用程序可以访问彼此的数据,并且,如果需要,可以在同一进程中运行。

10-08 14:54