-1

我已经浪费了几天时间来处理 Google 许可证验证框架中的错误。

我正在测试 Google 市场许可证验证库。到目前为止,我已经: - 从提供的库和示例源中创建了一个库和测试项目,没有任何更改(公钥和其他明显的东西除外)。- 在市场上创建了一个发布者帐户 - 我尚未将应用程序上传到市场 - 将示例应用程序安装到设备上 - 在开发者控制台中添加了测试帐户 - 我在开发者控制台中设置了各种测试响应

我的问题是我总是得到一个 NOT_MARKET_MANAGED 响应 - 无论开发人员控制台测试响应中的设置如何。文档声明我必须使用发布者帐户登录设备。它没有说明这具体是什么意思。我已将发布者帐户添加到设备中的帐户,但这无济于事。由于许可证库依赖于市场应用程序,我已经更改了标记应用程序中的帐户。也没有效果。我四处搜索并在“……我必须使用发布者帐户作为主帐户登录……”这一行中找到了一些内容。究竟什么是主要账户仍然含糊不清。一些消息来源指出,主帐户登录需要恢复出厂设置。我没有尝试过,但我认为你会丢失你在设备上所做的任何事情、安装、消息、联系人等。这是不可能不切实际的。我的问题是:如何针对各种响应测试应用程序?

4

2 回答 2

2

在开发者控制台上明确说明:

此许可证测试响应将使用 publisher_account 或上面列出的您已上传到 Market 的应用程序的测试帐户发送到设备。此外,对于尚未上传到 Market的应用程序,此帐户(但不是测试帐户)将收到此响应。

这部分文档中也有相同的说明:

http://developer.android.com/guide/publishing/licensing.html#test-acct-setup

我知道可以通过将 apk 上传到服务器进行测试。但除了在开发人员控制台中设置测试响应之外,还必须执行以下操作:

  1. 编译没有调试标志的应用程序
  2. 创建证书
  3. 使用证书签署 apk
  4. 将apk上传到服务器

所有这一切都是一个主要的 PITA。可能只是一个简单的运行和测试的东西现在是一个完整的过程,只用于测试原型的最基本功能。

考虑到文档和许可证验证框架行为之间的差异,只有一个可能的结论。文档或实现(或两者)都有缺陷。

于 2011-12-18T09:07:41.243 回答
1

请仔细阅读官方开发指南

为许可证检查设置测试响应

Android Market 在您的发布者帐户中提供了一个配置设置,可让您覆盖许可证检查的正常处理并返回指定的静态响应代码。该设置仅用于测试,仅适用于您已上传的应用程序的许可证检查,这些应用程序由任何用户使用发布者帐户或注册测试帐户的凭据登录到模拟器或设备进行。对于其他用户,服务器始终按照正常规则处理许可证检查。

并关注大卫的评论。

于 2011-12-12T20:02:38.687 回答