以root身份签名和Android应用

时间:2013-02-26 11:27:02

标签: java android java-native-interface

我想运行一个应用程序,以root模式测试某些特定方案。从Android开发者网站Android除了使用FACTORY_TEST权限外,不提供具有root权限的应用程序。通过在线阅读,我发现使用该权限时,我需要使用在构建Android源代码时生成的平台密钥对其进行签名。如果我有权访问平台签名,那么如何添加android.permission.FACTORY_TEST权限?

每次我在manifest.xml中添加此设置时,xml都会显示一条错误消息,说只有工厂应用程序可以使用它。到目前为止所有在线帮助都要求我执行以下步骤。

  1. 添加android:sharedUserId="android.uid.system。将apk从eclipse导出为unsigned apk。
  2. 使用平台密钥对apk进行签名。
  3. 安装并使用它。
  4. 由于清单会抛出错误,我是否需要简单地忽略错误并继续?
    有关于如何做的详细步骤吗?

1 个答案:

答案 0 :(得分:0)

  除了使用FACTORY_TEST权限外,Android开发者网站Android不提供具有root权限的应用程序。通过在线阅读,我发现使用该权限时,我需要使用在构建Android源代码时生成的平台密钥对其进行签名。

你在哪里读到这个?据我了解,如果没有访问OEM用于签署固件或以其他方式编译和签署您自己修改过的固件的密钥,则无法使用FACTORY_TEST权限。

这是你看到的那种信息吗?

08-05 17:57:46.170: WARN/PackageManager(52): Not granting permission 
android.permission.FACTORY_TEST to package XXXX (protectionLevel=2
flags=0x7e44)

在任何情况下,这些权限(使用protectionLevel 2或3)只能在您是OEM或构建自己的自定义ROM(在可能的根据手机上运行)时使用。