我正在为内部研究项目开发概念验证工具。
我们有特定的需求,只能通过将我们的应用程序作为系统应用程序运行来满足,例如“设置”或“电话”应用程序。
我是否认为在系统用户 (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 更新它(即它是由 Google 而不是三星签名的,如果有的话)。
如果电话是deodexed ,您应该能够将应用程序移动到 /system/app/
(或 /system/priv-app/
在较新的操作系统版本上)。这需要有根电话,以便您可以将系统分区挂载为可写。当然,这与您的 list 设置有关。我不确定这是否足够,因为我自己还没有这样做过,但可以尝试一下。
关于system - 签署Android系统应用程序(研究项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5981284/