如何使用系统签名密钥对我的应用程序进行签名?

2023-12-31

我需要创建一个 Robotium 应用程序,该应用程序将使用“设置”应用程序从菜单“设置”->“无线和网络”->“Wi-Fi”打开/关闭 WIFI。我设法找到了一些示例代码here http://code.google.com/p/robotium/wiki/RobotiumForAPKFiles演示了如何仅通过 apk 文件启动应用程序。问题是我的 Robotium 应用程序应该与(系统)设置应用程序具有相同的签名。在尝试运行应用程序时,我收到错误消息:

测试运行失败:权限拒绝: 启动仪器 ComponentInfo{com.jayway.test/android.test.InstrumentationTestRunner} 不允许从 pid=354、uid=354 因为 com.jayway.test 包确实 没有匹配的签名 目标 com.android.settings

  1. 我能以某种方式让它与 Android 模拟器一起工作吗?
  2. 如果我编译 Android 手机映像,如何在我的应用程序中使用 Android 系统签名?

我遇到了同样的问题..有一些权限只允许系统应用程序拥有。我试图访问adb shell dumpsys来自我的应用程序的具有权限的命令android.permission.DUMP .

解决这个问题的方法是......

在项目的 Android 清单文件中,在清单标记中添加以下行

android:sharedUserId="android.uid.system"

用于构建二进制文件的代码中需要有两个签名密钥。

平台.x509.pem

平台.pk8

存在于

安卓/构建/目标/产品/安全

从网上下载一个工具,即

签名包.jar

从 eclipse 导出未签名的 apk。通过右键单击 Android 工具中的项目。 将所有内容(即keys、unsigned apk 和signapk.jar)保存在一个文件夹中。运行以下命令

java -jar signapk.jar platform.x509.pem platform.pk8 unsigned.apk signed.apk

unsigned apk 是您的 apk 的名称,signed apk 是您想要的新名称。 之后,只需使用以下命令在手机中安装您签名的应用程序

adb install signed.apk
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用系统签名密钥对我的应用程序进行签名? 的相关文章

随机推荐