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

我们有特定的需求,只能通过将我们的应用程序作为系统应用程序运行来满足,例如设置或电话应用程序。

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

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

并使用平台证书签署我的应用程序?

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

因此,如果我们将手机 root 并在其上粘贴类似 cyanogenmod 的东西,那么所需的证书是 cyanogenmod 的平台证书吗?

这个一般可以用吗?

最佳答案

我相当有信心您不会使用制造商的 key 。在我的 Galaxy S 上,Gmail 应用程序是一个系统应用程序,您可以从 Android Market 更新它(即它已签名,如果有的话,由谷歌而不是三星签名)。

如果手机是 deodexed ,您应该能够将应用程序移动到 /system/app/ (或 /system/priv-app/ 在较新的操作系统版本上)。这需要有根电话,以便您可以将系统分区挂载为可写。当然,这与您的 list 设置有关。我不确定这是否足够,因为我自己还没有这样做过,但是可以尝试一下。

关于system - 签署一个Android系统应用程序(研究项目),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5981284/

10-14 22:09
查看更多