2010-11-24 128 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可以由每個應用程序請求,但它只被授予已簽名爲系統應用程序的應用程序。還有其他一些更有意義的功能,我認爲直接安裝和刪除應用程序也只是一個系統唯一權限。