【问题标题】:How to compile Android Application with system permissions如何使用系统权限编译 Android 应用程序
【发布时间】:2011-04-05 15:33:04
【问题描述】:

我需要编译一个具有系统权限的应用程序才能使用目标应用程序 com.android.settings。现在,当我尝试运行我的 apk 时,我收到了错误消息

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

如何使用系统权限编译我的应用程序?

【问题讨论】:

  • 如果您正在创建自己的固件,您只能使用系统签名密钥对您的应用程序进行签名。
  • 我想先试用一下 Android Emulator。我可以通过使用choosecombo 命令选择debug 选项来编译Android Emulator,然后尝试安装我自己的应用程序吗?
  • 在这里查看答案:stackoverflow.com/questions/5383401/…

标签: android permissions


【解决方案1】:

经过一番搜索后,我发现了如何使用系统(平台)密钥对我的应用程序进行签名。 系统签名位于目录<root-of-android-source-tree>/build/target/product/security。您可以使用它们以系统权限签署您的应用程序。

【讨论】:

  • 太棒了!非常感谢,密歇根!
  • 构建系统应用添加到固件中,是否需要导出APK?我已经设法获得了 Google 的证书/密钥库,并且可以在模拟器中将应用程序作为系统应用程序运行,但现在我需要将此应用程序提供给固件工程师,但我不确定如何构建它。跨度>
  • 我想知道 /bin 中的 .apk 是否可以使用,因为它已使用 google_certificate.keystore 签名
  • 链接已失效,有人有缓存副本吗?这就是为什么你应该给出一个全面的答案,而不是一个链接。
  • ``/build/target/product/security` 我不知道在哪里可以找到这个......有什么帮助吗? :)
【解决方案2】:
  1. 添加到清单 android:sharedUserId="android.uid.system"

  2. 下载系统签名文件: 平台.x509.pem 平台.pk8

链接: https://android.googlesource.com/platform/build/+/android-8.0.0_r17/target/product/security/

  1. 通过终端签名应用程序(java -jar signapk.jar platform.x509.pem platform.pk8 unsigned.apk signed.apk)(首先必须将所有文件放在一个文件夹中),或者使用keytool-importkeypair制作证书google_certificate.keystore 然后

keytool-importkeypair 下载及说明链接:

https://github.com/getfatday/keytool-importkeypair

  1. 在这些步骤之后,将您签名的系统应用程序安装到您的设备上。祝你好运!!!

【讨论】:

  • 这样的应用可以放到谷歌商店吗?
  • 下面的评论有答案吗?..我还想知道是否有可能在商店中发布一个具有系统访问权限的应用程序,可能不是供公众使用,但至少是私人使用在企业内部使用。
【解决方案3】:

对我来说,分析器只是删除 debug.keystore 文件。 AVD 的默认存储位置在 OS X 和 Linux 上的 ~/.android/ 中,Windows XP 上的 C:\Documents and Settings\.android\ 和 Windows Vista 上的 C:\Users\.android\ 中。

在 Eclipse 中,我“清理”了项目,从模拟器中卸载了 App 和 TestApp - 瞧,一切又运行良好了。

【讨论】:

  • 虽然这个解决方案解决了你的问题,并且已经解决了我几次(由于调试密钥库过期的问题),但这是指另一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-18
  • 2023-04-08
  • 2015-08-17
  • 2012-06-09
  • 1970-01-01
  • 2014-10-08
相关资源
最近更新 更多