我有一个Android应用程序(使用PhoneGap的HTML5应用程序),我想用Android的LVL验证进行测试。
我已从Eclipse导出我的应用程序pkg,将其上传到Google Play而未实际发布,并将相同的pkg安装到我的Android手机上。当我去编辑个人资料>设置许可证测试响应,无论我选择什么,手机上的应用程序始终会获得“许可”响应。
设备和测试帐户都是相同的Google帐户。
当我附加调试器时,控制台会列出许多来自LicenseChecker的日志,
我究竟能做错什么?
答案 0 :(得分:0)
原来,Google Play应用更新中存在一个错误。许可证检查超时,因此在我的情况下,默认选择是允许用户以任何方式访问。
如果您删除该应用的应用数据,您自己的测试应用将重新建立与Google Play的连接,您设置的任何测试响应几乎都会立即成为应用在设备上收到的响应。
事实上,您甚至不需要遵循有关将完全相同的pkg上传到Google Play的指南,以便获得这些测试回复。只需使用相同的密钥即可。
注意: 在我上面的当前设置中,使用ServerManagedPolicy,应用程序可以很好地区分LICENSED(触发Allow())和UNLICENSED(触发DontAllow())。 但是,如果存在错误,则applicationError()回调不能很好地处理所有代码,或者从未向其提供某些代码。
ERROR_NOT_MARKET_MANAGED触发ApplicationError()就好了。 但是这两个错误将应用程序重定向到DontAllow: ERROR_SERVER_FAILURE ERROR_CONTACTING_SERVER
我希望我能抓住这些错误,因为它们通常不是用户的错,但是用户被引导到“你没有买这个应用程序”对话框。