【问题标题】:Android production build signature issueAndroid生产构建签名问题
【发布时间】:2014-01-20 08:42:56
【问题描述】:

我有两个应用程序使用广播接收器相互通信。当我在调试版本中运行应用程序时,这两个应用程序都可以正常工作。我有一个由应用程序使用的自定义权限,并且此权限的保护级别在调试版本中设置为正常。

但是,当我将两个应用程序中的权限保护级别更改为签名以进行生产构建时,另一个应用程序不会收到广播并引发异常: W/PackageManager(2946):不授予 com.example.CUSTOM_PERMISSION 对包 com.example.android 的权限(protectionLevel=2 flags=0x88be44)

有人可以帮忙,因为这是一个表演者。

【问题讨论】:

  • 你是如何签署应用程序的?
  • 我使用生产密钥库签署的应用程序之一,然后使用命令(java -jar google_sign/signapk.jar google_sign/platform.x509.pem google_sign/platform.pk8 Desktop/MY_APK. apk 桌面/MY_APK.google.signed.apk)。我使用生产密钥库签署的另一个应用程序。

标签: android android-manifest


【解决方案1】:

签名不匹配。

假设您的应用 A 使用证书 1 和 2 进行签名,而应用 B 仅使用证书 1 进行签名。

现在 A 可以获得 B 的签名级权限,因为它是用 cert 1 签名的。

B 无法获得 A 的签名级别权​​限,因为它没有同时使用证书 1 和 2 进行签名。

【讨论】:

  • 对于我以前的版本,此过程运行良好,但对于当前版本,它不起作用。\
  • 假设应用 B 使用我没有的证书 1 签名(应用由三星签名),那么我如何使用证书 1 签署应用 A。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-04
  • 2015-05-22
  • 2018-12-20
  • 2020-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多