我需要创建一个 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
- 我能以某种方式让它与 Android 模拟器一起工作吗?
- 如果我编译 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(使用前将#替换为@)