我已经在Google许可证验证框架中浪费了几天的错误。
我正在测试Google market License Verification Library。我到目前为止: - 从提供的库和样本源创建了一个库和测试项目,没有任何更改(公钥和其他明显的东西除外)。 - 在市场上创建了一个发布商帐户 - 我没有将应用程序上传到市场 - 将示例应用程序安装到设备上 - 在开发者控制台中添加了测试帐户 - 我在开发者控制台中设置了各种测试响应
我的问题是我总是得到一个NOT_MARKET_MANAGED响应 - 无论开发人员控制台测试响应中的设置如何。 文档声明我必须在具有发布者帐户的设备中签名。它没有具体说明这是什么意思。 我已将发布商帐户添加到设备中的帐户,但这无济于事。由于许可证库依赖于市场应用程序,因此我在Marker应用程序中更改了帐户。也没影响。 我已经google了一下,发现了一些内容......我必须使用发布商帐户作为主帐户登录..."。主要账户到底是什么模糊不清。一些消息来源声明主要帐户登录需要重置工厂。我没有尝试过,但我认为你放弃了在设备,安装,消息,联系人等方面所做的任何事情。这是不切实际的。 我的问题是:如何针对各种响应测试应用程序?
答案 0 :(得分:2)
在开发者控制台上,明确指出:
此许可证测试响应将使用发送到设备 publisher_account或上面列出的应用程序的测试帐户 你已经上传到市场。此外,这个帐户(但不是 测试帐户)将收到的应用程序的响应 尚未上传至市场。
本节文档中也说明了相同的内容:
http://developer.android.com/guide/publishing/licensing.html#test-acct-setup
我知道将apk上传到服务器可以进行测试。但除了在开发人员控制台中设置测试响应之外,还必须执行以下操作:
这一切都是主要的PITA。可能只是一个简单的运行和测试的东西现在是一个完整的过程,只是为了测试原型的最基本功能。
考虑到文档与许可证验证框架行为之间的差异,只有一个可能的结论。无论是文档还是实现(或两者)都存在缺陷。
答案 1 :(得分:1)
请仔细阅读Official Dev Guide:
设置许可证检查的测试响应
Android电子市场在您的发布商帐户中提供配置设置,允许您覆盖许可证检查的正常处理并返回指定的静态响应代码。 该设置仅用于测试,仅适用于您已上传的应用程序的许可证检查,由使用发布者帐户或注册测试帐户的凭据登录到模拟器或设备的任何用户进行。对于其他用户,服务器始终按照正常规则处理许可证检查。
跟随大卫的评论。