这听起来像是一个模糊的问题,但我不得不问。
我是一名初学者android开发人员,刚开始了解android中进程间通信的工作原理。
如果在2个应用程序中使用了相同的shareduserid,则它们有权访问彼此的数据,这意味着我可以反编译任何apk,从清单中查找其shareduserid,并使用相同的shareduserid创建我的应用程序以访问其数据。
我想念什么吗?
如果将来我要创建2个应用程序(一起工作,从而暴露了shareduserid),应该如何确保数据安全?
最佳答案
共享用户ID由证书签名强制执行。仅当使用相同证书对应用程序进行签名时,平台才会授予/分配相同的用户ID。 Ref .:
android:sharedUserId
将与其他应用程序共享的Linux用户ID的名称。默认情况下,Android为每个应用程序分配其自己的唯一用户ID。但是,如果将两个或多个应用程序的此属性设置为相同的值,则它们都将共享相同的ID(前提是它们也由同一证书签名)。具有相同用户ID的应用程序可以访问彼此的数据,并且,如果需要,可以在同一进程中运行。