Android 在系统分区上安装应用程序后,应用程序签名会发生更改

Android 在系统分区上安装应用程序后,应用程序签名会发生更改,android,signing,Android,Signing,我正在为特定的平板电脑开发一个应用程序,该应用程序应该通过我们的定制服务器进行更新(只需检查json的版本,如果该版本大于当前版本,我们将下载新的apk并安装它)。 面对一些奇怪的签名行为 我用发布密钥签署了一个应用程序,然后将其安装到设备上——一切正常。 但是 当平板电脑制造商将已签名的apk安装为系统应用程序时,不知何故,应用程序的签名证书会发生变化,我无法更新它(因为证书根据控制台的不同而不同) 我尝试记录证书的哈希值和我收到的内容: 简单安装模式: 当前:1925650013 下一版

我正在为特定的平板电脑开发一个应用程序,该应用程序应该通过我们的定制服务器进行更新(只需检查json的版本,如果该版本大于当前版本,我们将下载新的apk并安装它)。 面对一些奇怪的签名行为

我用发布密钥签署了一个应用程序,然后将其安装到设备上——一切正常。 但是 当平板电脑制造商将已签名的apk安装为系统应用程序时,不知何故,应用程序的签名证书会发生变化,我无法更新它(因为证书根据控制台的不同而不同)

我尝试记录证书的哈希值和我收到的内容:

  • 简单安装模式:

    • 当前:1925650013
    • 下一版本:1925650013
  • 作为系统安装的应用程序

    • 当前:-1314815697
    • 下一版本:1925650013

看起来它变成了“调试”键,我不明白为什么。

你的问题已经包含了答案:
当平板电脑制造商将已签名的apk安装为系统应用程序时

系统应用程序(原意)被授予系统权限,要获得此权限,应用程序必须使用系统制造商的密钥签名


如果你的应用不需要系统权限,我认为这是你和平板电脑制造商之间的误解-在这种情况下,你只想在系统分区上预装你的应用。大多数用户称这种应用为“系统应用”但实际上它只是系统分区上的一个常规应用程序。

嘿,谢谢你的关注:)是的,可能他们已经像你说的那样在系统分区上安装了它。但是你有什么想法可以改变应用程序的签名证书吗?因为除了启用wifi和蓝牙,我们的应用程序对本机端没有任何作用,所以我们可以很容易地将其算作预装。我们所需要的就是能够更新它:)