Android许可证测试响应 - 永远不会有效

时间:2012-12-01 23:33:52

标签: java android android-lvl

我一直在研发已发布到Google Play的Android应用。对于下一次更新(versionCode = 3),我的客户希望包含LVL许可方案。

我做的第一件事是从许可服务器设置静态测试响应。我将测试响应设置为 LICENSED 。在文档中阅读之后:

  

此许可测试响应将使用[我的电子邮件地址]发送到设备   您上传到Google Play的应用程序或上面列出的测试帐户。 >此外,此帐户(但不是测试帐户)将收到尚未上传到Google Play的>应用程序的此响应。

我想,这不是问题,因为我的开发者帐户电子邮件与我的测试设备上的Google Play帐户电子邮件相同。所以我应该在调试App时收到测试响应。

之后,我会阅读所有其他许可文档和示例代码,并将其集成到应用程序中。我使用了 ServerManagedPolicy 和正确的base64公钥以及20个随机生成的字节作为salt。

一旦一切看起来都很好我将其上传到设备进行测试,但我没有收到我预期的 LICENSED 响应,而是总是收到 NOT_LICENSED 回复。我回去确认:

  1. 我已连接到互联网。
  2. 我已登录Google Play上的开发者帐户。
  3. LicenseChecker使用了正确的公钥。
  4. 清除我的Google Play缓存。
  5. 起初,我认为它可能与缓存有关,所以我尝试使用 StrictPolicy 。相同的回应。由于我没有从商店购买应用程序,我的印象是许可服务器正常响应而不是发送静态测试响应。以下是我尝试过的其他一些事情:

    1. 等24小时再试一次。
    2. 尝试使用android调试密钥以及当前的分发密钥构建应用程序。
    3. 在Google Play上设置和使用其他测试用户帐户。我确保将此电子邮件帐户添加到开发人员控制台中的“测试帐户”部分。
    4. 将APK上传到Google Play,但不发布。
    5. 将versionCode从2增加到3. 这很有趣,因为它不会响应 NOT_LICENSED 而是返回'应用程序错误代码' ERROR_NOT_MARKET_MANAGED
    6. 这让我相信许可证服务器始终正常响应,而不是将我设置的静态测试响应发送到我的开发者帐户。我有一种感觉,可能是因为该应用程序已经发布,但我无法冒险发布调试版本只是为了测试它是否有效。

      之前有没有人遇到这种情况?非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

我花了几个小时甚至几天时遇到同样的问题,这里和其他地方都有记录,预先发布的许可证测试是命中和错过,而且比我发现的更多的错过了。

我发现让它“更可靠”(但仍然不完全可靠)的唯一方法是让硬件设备重置为出厂默认设置,然后将其设置为PRIMARY google用户。您的开发者帐户已上传以测试。

特殊的AVD也不太可靠。

答案 1 :(得分:1)

我有同样的问题,但能够解决它。以下是我要解决的问题: 1)在我的设备上,我删除了除我配置的测试帐户以外的所有Google帐户。显然,Play商店仍在尝试使用非测试帐户。

2)我必须为我的开发者帐户激活测试状态,即使我是主开发人员而且只有测试人员。

版本增量没有帮助,老实说是分心......

答案 2 :(得分:0)

使用LVL库测试时遇到同样的问题。无论我在设置页面中设置了许可证测试响应,我总是得到561(0x231 NOT_LICENSED)响应。

我的付费应用用户似乎没有抱怨所以我假设LVL正在为他们工作。

首先我的一个应用程序出现了这个问题,它在1天后发布(2012年12月30日发布),现在我在该应用程序中获得了有效的测试响应。

但是,对于较新的应用程序(2013年1月31日发布),我仍然会收到561(0x231 NOT_LICENSED)响应

所以现在我发布APK后继续注释掉(禁用弹出561的警告对话框代码),然后继续开发下一个版本。

在我再次发布之前,我取消评论(启用提醒对话框代码)!

我联系了Google Play,他们将我推荐给他们的开发者论坛。我在那里发布了同样的问题,但后来我找不到我的帖子。

很高兴知道我不是唯一一个面临这个问题的人。