java - 如何检查两个包是否由同一 key 签名?

标签 java android android-package-managers

我的一个 Android 应用程序依赖于另一个软件包作为许可证 key 进行安装。我本可以进行应用内购买,但我的许多应用程序的 key /许可证都是相同的。

为了解锁我的应用中的某些付费功能,我检查 com.example.license 包是否存在。这工作得很好,但为了增加额外的刚性,我想检查我的包和许可证 key 包是否由相同的 key 签名,无论是调试还是发布。我怎样才能检查这个?是不是像调用PackageManager.checkSignatures那么简单? ?

最佳答案

此处:Get certificate fingerprint from android app我举了一些如何从应用程序获取证书的示例。您只需针对您的应用程序和许可证包运行此代码(只需将 this.getPackageName 替换为 com.example.license)

关于java - 如何检查两个包是否由同一 key 签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20898517/

相关文章:

java - 如何在android中将空值声明为整数

Java、Selenium、IntelliJ - 无法使用 DataFile.properties 中的变量

android - 获取资源值时没有包标识符

android - 如何检测任何应用程序是否已从设备中安装的基本版本升级并检测它是否是家庭启动器应用程序?

安卓包管理器 : check if a library APK has been installed

Java "User"类命名最佳实践?

java - 如何计算加密和解密算法所用的时间?

android - 与 android 支持库的依赖关系不适用于使用 Androidx 的项目

java - @NonNull 和@Nullable 的正确用法是什么?

java - 如何检索用户行走的速度