如何清除“应用内结算服务”缓存

时间:2013-03-25 15:15:30

标签: android in-app-purchase

在应用内结算(v3)的文档中,它说:“成功购买后,Google Play的应用内结算服务会在本地缓存用户的购买数据。”

我现在想彻底测试我的应用的结算代码,并希望清除该缓存。它很重要,因为没有数据在缓存中,收集数据可能需要更长的时间 - 或者根本不可访问。我想测试一下我的应用可以处理这些情况。

那么有没有办法清除缓存?

6 个答案:

答案 0 :(得分:9)

您可以使用adb执行此操作(也适用于非root用户):

adb shell pm clear com.android.vending

就这么简单!

答案 1 :(得分:6)

这应该可行,但您可能需要再次在Play商店进行身份验证:

enter image description here

答案 2 :(得分:1)

  

那么有没有办法清除缓存?

据我所知,没有。开发人员无法清除Google Play的IAB缓存。

您可以从官方Android文档中找到这个有用的:Testing In-app Billing

答案 3 :(得分:0)

重启您的设备。这对我每次都有用!如果您已经在google wallet中订购了该订单,那么您还必须等待它在那里取消。它应该说“已取消:订单将无法送达”。

答案 4 :(得分:0)

如果Par Nils回答不起作用-尝试删除应用程序并执行

adb shell am clear-debug-app

答案 5 :(得分:-1)

难道你不能从Android开发工具包中创建一个新的模拟android安装...然后在登录之前将其保存为“快照”并创建所有计费缓存吗?然后,您可以启动该虚拟机的新实例,并在没有计费缓存的情况下运行您的代码。

编辑:如果您不能使用模拟器,我建议使用一个根植于罗马的手机。使用Rom Manager(Nandroid Backup)获取完整的系统快照,然后测试您的应用程序。当您希望重置时,通过Rom Manager恢复备份,并在登录市场之前返回(并激活计费缓存)。它实际上需要更长时间才能重新启动手机而不是实际恢复数据...所以它非常快(我一直这样做,因为我是一个狂热的根/ rom er。