【问题标题】:Android LVL always responding 'LICENSED' when testingAndroid LVL 在测试时总是响应“许可”
【发布时间】:2012-07-25 14:23:57
【问题描述】:

我有一个 Android 应用(使用 PhoneGap 的 HTML5 应用),我想通过 Android 的 LVL 验证对其进行测试。

我已经从 Eclipse 中导出了我的应用 pkg,将其上传到 Google Play 并没有实际发布它,并将相同的 pkg 安装到我的 Android 手机上。当我转到 Edit profile > Set license test response 时,无论我选择什么,手机上的应用程序总是得到“LICENSED”响应。

设备和测试账号都是同一个谷歌账号。

当我附加调试器时,控制台会列出来自 LicenseChecker 的许多日志,

我到底做错了什么?

【问题讨论】:

    标签: android google-play android-lvl


    【解决方案1】:

    事实证明,Google Play 应用的更新存在错误。许可证检查超时,因此在我的情况下,默认选择是允许用户访问。

    http://code.google.com/p/marketlicensing/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary&groupby=&sort=&id=44

    如果您删除该应用的应用数据,您自己的测试应用将重新建立与 Google Play 的连接,并且您设置的任何测试响应几乎都会立即成为设备上的应用收到的响应。

    事实上,您甚至不需要遵循关于将完全相同的 pkg 上传到 Google Play 的指南即可获得这些测试响应。只需使用相同的密钥。

    注意: 在我上面的当前设置中,使用 ServerManagedPolicy,应用程序可以很好地区分 LICENSED(触发 Allow())和 UNLICENSED(触发 DontAllow())。 但是,如果出现错误,则 applicationError() 回调不能很好地处理所有代码,或者其中一些代码从未提供给它。

    ERROR_NOT_MARKET_MANAGED 触发 ApplicationError() 就好了。 但是这两个错误将应用程序重定向到 DontAllow: ERROR_SERVER_FAILURE ERROR_CONTACTING_SERVER

    我希望我能发现这些错误,因为它们通常不是用户的错,但用户却被引导到“您没有购买此应用”对话框。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      相关资源
      最近更新 更多