我正在尝试获得 Android 许可,以便在我的第一个 Android
应用程序中运行。
我已按照在线指南进行操作,并已集成 LVL代码使用 ServerManagedPolicy 。
无论我在开发者控制台中设置什么许可证测试响应,我几乎总是(十分之九)得到 LicenseResponse.RETRY 。因为 DEFAULT_MAX_RETRIES = "0"
这始终会转换为 NOT_LICENSED
我已经尝试过:
- 打开/关闭 WiFi
- 运行我购买的付费应用(它们都可以运行!)
- 拔掉 USB 插头
- 在虚拟机和我的真实手机中运行
我总是得到相同的结果。在我获得许可的响应的少数情况下,它没有附加任何附加功能来增加最大重试次数。我认为这是问题的症结所在 - 第一次尝试和许可时,我在默认设置中没有重试或有效期容忍度。
我怎样才能让它可靠地工作?
编辑1
在日志中发现了这一点。这是否意味着连接 Android 市场应用程序时出现问题?
08-18 21:12:16.071: INFO/LICENSE(10852): checkLicense
08-18 21:12:17.271: INFO/LicenseChecker(10852): Binding to licensing service.
08-18 21:12:17.281: WARN/ActivityManager(80): Unable to start service Intent { act=licensing.ILicensingService }: not found
08-18 21:12:17.281: ERROR/LicenseChecker(10852): Could not bind to service.
08-18 21:12:17.301: INFO/LICENSE(10852): dontAllow
最佳答案
有两件事可能对您有帮助:
- 假设您使用开发者控制台来模拟响应,有时需要几分钟以上的时间才能刷新您之前尝试获得的响应。因此,如果您模拟了 FAILED 响应,您可能需要等待一段时间才能收到 SUCCESS 响应。有时,即使重新启动设备也无济于事,因此您只能等待。
- LVL 机制存在一些问题,即使在用户的设备上,当设备上一段时间没有互联网连接或出现其他网络错误时,您也可能会收到 FAILED 响应。我建议在 LVL 内置重试的基础上进行多次重试,因为我发现它不可信并且容易出错。它可能会减少您从用户那里收到的假阴性报告的数量...
关于android - 无法使 Android Market 许可 (LVL) 可靠运行。几乎总是返回 RETRY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7033066/