签署Android系统应用程序(研究项目)

时间:2011-05-12 14:43:36

标签: system certificate

我正在为内部研究项目开发一个概念验证工具。

我们有特定的需求,只有将我们的应用程序作为系统应用程序运行才能满足,例如设置或手机应用程序。

我是否正确地认为在系统用户(uid = 1000)下运行应用程序的唯一方法是在清单中设置以下内容:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.frogdesign.desktop" 
    android:sharedUserId="android.uid.system" > 

使用平台证书签署我的申请?

如果是这样,对于给定的电话,例如Galaxy S,这需要我们使用三星的证书签名。不会发生,对吧。

因此,如果我们根据手机并粘贴cyanogenmod之类的东西,所需的证书是cyanogenmod的平台证书吗?

这通常是否可用?

1 个答案:

答案 0 :(得分:2)

我相信你不会使用制造商的钥匙。在我的Galaxy S上,Gmail应用程序是一个系统应用程序,您可以从Android电子市场更新它(即它已经签名,如果它完全是由谷歌而不是三星)。

如果手机为deodexed,您应该只需将应用移至/system/app/(或在较新的操作系统版本上/system/priv-app/)。这需要root电话,以便您可以将系统分区挂载为可写。当然,这与您的清单设置一起使用。我不确定这是否足够,因为我自己没有这样做,但这是值得尝试的。