2010-11-24 95 views
11

有人可以给我解释一下什么是Android系统的应用程序在一个“正常”的应用程序 的利益(除了这一事实,系统应用程序不能被卸载)? 特殊权限?Android系统应用程序101

回答

21

这里有一些混淆。首先,如果你所说的“系统应用程序”只是一个与FLAG_SYSTEM集合,这意味着该应用程序位于/系统分区,这是基本上是固件的只读分区的设备。 (它只能作为OTA固件更新的一部分进行修改。)这些应用程序不能被简单删除,因为它们位于无法修改的分区上。

唯一的特别之处超出了系统应用的是有签名权限的那几个也可以授予系统映像上的任何应用程序。例如,有权直接与包管理器交谈以安装此应用可以具有的应用(而不通过系统UI);这对预先加载在设备上的任何应用商店/市场都很有用。

与所述平台的证书签名是正交的概念 - 这样的应用程序可以是系统映像上或作为第三方的应用程序安装(但显然在几乎所有情况下,这些都预先安装)。这些应用程序可以访问整套低级权限以与平台进行交互。很少有应用程序使用此证书签名;它仅适用于核心平台应用程序。除非您正在设备上使用硬件供应商,否则您将无法访问此设备。

所有平台的证书(无论它们对所有应用程序都可用,需要应用程序使用平台证书签名,或者可用于安装在系统分区上的应用程序)由平台清单声明,就像任何其他应用程序一样应用程序:
https://android.googlesource.com/platform/frameworks/base/+/master/core/res/AndroidManifest.xml

0

从你的解释我猜你的意思是预装的应用程序(如浏览器或消息应用程序)。你可以在https://android.googlesource.com看看这些应用程序。 (搜索平台/包/应用程序/ ...)。

您会发现这些应用程序与您自己开发的应用程序没有什么不同,除非您无法删除它们。它们不能被删除,因为它们提供了操作电话/设备的基本功能。所以,这里也有相同的安全限制。

+0

而且你只能是一个系统应用程序,如果你带有固件的权利? (用“平台密钥”签名) – m88m 2010-11-24 10:13:28

+0

我想你是从制造商的角度来谈论。由于市场限制,我知道某些平板电脑制造商随附预装Skype和其他平板电脑制造商。但那些可以再次被删除,值得研究。我从来没有见过一个系统应用程序在市场上下载,会有相当的安全风险。想想Janusz在下面提到的BRICK权限。 – 2010-11-24 11:16:31

+0

嘿! MobileDefense应用程序正在处理类似的事情(我猜!)请参阅http://support.mobiledefense.com/viewtopic.php?id=569阅读声明(topper):“我们将很快发布新的APK它可以自动完成整个系统应用安装过程。“我认为有一种方法.... – m88m 2010-11-24 11:18:52

1

有权限只能通过系统应用程序获取。例如,permission brick可以由每个应用程序请求,但它只被授予已签名为系统应用程序的应用程序。还有其他一些更有意义的功能,我认为直接安装和删除应用程序也只是一个系统唯一权限。