AppLicensing 失败 - 签名为空字符串

2024-01-10

我已经为应用内计费实施了应用程序许可,现在我得到了Error.NOT_LICENSED我不知道出了什么问题。我正在开发的版本尚未发布到游戏商店。

这是我用来启动许可过程的代码:

private void checkLicense(int retries) {
  if (retries != 5) {
    String publicKey = "YOUR KEY";
    final CdcLicenseCheckerCallback callback = new CdcLicenseCheckerCallback();
    String deviceId = mPrefsHandler.getDeviceId();
    deviceId = deviceId != null ? deviceId : UUID.randomUUID().toString();
    mPrefsHandler.setDeviceId(deviceId);
    Crashlytics.setBool("has Device-Id", deviceId != null);
    final LicenseChecker checker = new LicenseChecker(this, new ServerManagedPolicy(this,
        new AESObfuscator(new byte[] { 1, 1, ... , 1 }, getPackageName(),
            deviceId)), publicKey);
    checker.checkAccess(callback);
  }
}

我使用了一个生产变体来弄清楚发生了什么,并发现LicenseValidator.java,参数signature对于方法verify是一个空字符串,导致sig.verify(Base64.decode(signature))回来ERROR.NOT_LICENSED.

if (!sig.verify(Base64.decode(signature))) {
  Log.e(TAG, "Signature verification failed.");
  handleInvalidResponse();
  return;
}

我只有一点点想法UUID.randomUUID().toString()可能是问题所在,但我不知道是否真的如此,也不知道在这里要做什么。


发现问题了。我实际上并没有将 alpha 版本发布到 Playstore,因此 google play 明确禁止使用较新的版本,因为它不知道这一点

解决方案:检查您安装的应用程序版本是否低于或等于发布到 Google Play 的最新版本(Alpha、Beta 或生产频道)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AppLicensing 失败 - 签名为空字符串 的相关文章

随机推荐

  • phpMyAdmin 无法在 PHP5.5.8 的 CentOS 6.5 上运行

    我有一台运行 nginx 1 0 15 PHP FPM FastCGI 5 5 8 和 MySQL 5 5 35 的 CentOS 6 5 x64 服务器 我已经安装了 phpMyAdmin 4 1 5 并配置了一个 nginx 虚拟主机
  • Laravel:注册表单打开时会话过期

    我有一个网络应用程序正在以信息亭模式等待笔记本电脑上的用户 有时 注册失败并且用户会看到错误屏幕 我认为是 419 会话已过期 因此 我假设登录屏幕加载两小时后 会话就会过期 我保留了默认值 120 分钟 config session ph
  • 使用 TerminateProcess 终止“mstsc.exe”进程时出现错误代码(5) 访问被拒绝

    我用CreateProcess 使用 mstsc exe 启动 rdp 客户端应用程序的函数 之后 我想终止它 所以我使用TerminateProcess 函数 但它失败 错误代码为 5 如果我用 notepad exe 替换 mstsc
  • 活动管理员允许的参数

    有没有办法从活动管理的 Permit params 块内部判断我是处于创建模式还是编辑模式 当我创建新记录时 我想合并created by和updated by 当我编辑现有记录时 我只想合并updated by 这是我的代码 Active
  • 如何对 Spring @Bean CommandLineRunner 进行单元测试?

    我在一个小型 PoC 中使用 Spring Boot 并且正在尝试测试 Bean 实现 我有这个代码 SpringBootApplication public class Application public static void mai
  • 从R中的alphahull中提取多个多边形

    我正在使用 alphahull 创建地图边界 结果有时是离散的船体 这很好 下面示例中的三个漂亮的集群 我可以使用 igraph 获取离散簇的数量 但我想关闭多边形 并且没有看到将点分配给正确簇的简单方法 我缺少什么 最终我想将对象作为多边
  • MAMP 和 PHP“SSL 操作失败,代码 1”

    EDIT我现在正在出差 iPhone 上的 Stack Exchange 应用程序上只有 SO 因此下面代码中的引号存在一些奇怪的格式 抱歉 我在真实代码中有真实的 两天来我一直在试图解决这个问题 还有一些其他问题 但是 只是想用file
  • Konva 拖拽无需移动拖拽元素

    我的问题是如何拖放形状 但克隆可拖动形状 并将该克隆拖动到可放置形状 我是 Konva 的新手 在查看文档和示例时 我可以找到如何拖放形状 我找到了形状克隆的参考 但我不知道如何做到这一点 如果有人能告诉我方法 我将不胜感激 谢谢 rect
  • 将模型追加到列表中

    我在创建模型列表时遇到问题 假设我已经创建了模型 gt rp lt rpart V41 data learnData method class 如果我直接创建列表 那就可以了 gt ll lt list rp rp rp gt class
  • -webkit-overflow-scrolling touch 不适用于固定元素

    我使用一个额外的样式表 其中包含以下内容来触摸设备 touch overflow x hidden overflow y scroll webkit overflow scrolling touch body overflow x hidd
  • 如何查找文件中特定行的字节位置

    从命令行查找文件中特定行的字节位置的最快方法是什么 e g linepos myfile txt 13 5283 我正在为一个大小为几 GB 的 CSV 编写一个解析器 如果解析器停止 我希望能够从上一个位置恢复 解析器是用 Python
  • 如何与张量流保存的模型预测器并行进行推理?

    张量流版本 1 14 我们当前的设置是使用张量流估计器进行实时 NER 即一次对一个文档进行推理 我们有 30 个不同的字段需要提取 每个字段运行一个模型 因此总共有 30 个模型 我们当前的设置使用 python 多重处理来并行进行推理
  • 如何构建一个累积的任一构建器

    我想为这两个表达式构建一个计算表达式 这很简单 type Result lt TSuccess gt Success of TSuccess Failure of List
  • Linux中实时监控鼠标坐标

    我需要一个 python 编码来在 Linux 中实时监控鼠标坐标 我发现下面的代码运行良好 但是鼠标坐标信息将显示在弹出的 GUI 窗口中 现在我不需要它在 GUI 窗口中显示 只需要将鼠标坐标信息保存到文本文件 日志文件 中 有人可以帮
  • 我可以在Java中更改jpg图像的分辨率吗?

    我有一些在面板中显示的 jpg 文件 不幸的是 它们的尺寸都是 1500x1125 像素 这对于我想要的东西来说太大了 有没有一种编程方式来更改这些 jpg 的分辨率 您可以使用缩放图像Graphics2D方法 来自java awt Thi
  • 如何在linux中使用CMake和Kdevelop编译GLUT + OpenGL项目?

    正如标题所说 我似乎无法使用 OpenGL 和 Glut 构建该项目 我收到 OpenGL 函数的未定义参考错误 我尝试这样做 project testas find package OpenGL find package GLUT add
  • Clojure / ClojureScript 中不区分大小写的过滤器

    我有这个功能 defn list data alist filter text filter fn x if nil filter text true gt indexOf x filter text 1 alist list data L
  • 无法在方法内将对象设置为 null [重复]

    这个问题在这里已经有答案了 在下面的代码中 我尝试在测试方法中将节点设置为 null 当我这样做时 节点仅在方法的范围内变为 Null 但 parent 不会变为 null 我的理解是对象作为引用传递给方法 并且可以在方法内部直接操作 我觉
  • 如何通过 SSH 连接到 kubernetes 集群中的 docker 容器? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对 Google Cloud 平台和 Docker 相当陌生 我设置了一个节点集群 制作了一个复制存储库的 Dockerfile 并在公
  • AppLicensing 失败 - 签名为空字符串

    我已经为应用内计费实施了应用程序许可 现在我得到了Error NOT LICENSED我不知道出了什么问题 我正在开发的版本尚未发布到游戏商店 这是我用来启动许可过程的代码 private void checkLicense int ret