2012-04-03 160 views
0

我正尝试使用Android应用内购买系统。我只有一个被管理的产品,问题是我不能用eclipse在调试模式下进行测试。当我签署我的应用程序并将其安装到开发人员控制台和我的手机时,一切正常。Android应用内购买 - 托管产品

但我希望用eclipse调试我的应用程序时,我总是为restoreTransactions()获取RESULT_DEVELOPER_ERROR。我想在重新安装应用程序之前检查此被管理产品是否已购买。

什么是测试被管理产品的正确方法?

我假设我收到错误RESULT_DEVELOPER_ERROR,因为我在调试模式下工作,它不是签名的apk。如果这是真的,我该如何调试我的托管产品应用程序?

+0

@RivieraKid - 我没有说,我想在模拟器中测试它。你错误地改变了我的问题!我想在手机上测试它。并且在模拟器中测试应用内购买是不可能的。 – penguru 2012-04-03 08:29:25

+0

在这种情况下,我误解了您的评论 - 我道歉,随时回滚编辑。话虽如此,我在我的答案中引用您的测试应用内结算页面可以解释如何在物理设备上测试结算。 – RivieraKid 2012-04-03 08:32:28

回答

-1

请参阅In-app billing reference,具体而言,错误的描述:

Indicates that an application is trying to make an in-app billing request but the application has not declared the com.android.vending.BILLING permission in its manifest. Can also indicate that an application is not properly signed, or that you sent a malformed request, such as a request with missing Bundle keys or a request that uses an unrecognized request type.

我想你会发现,问题是,仿真器不具备的谷歌播放安装存储(由提供com.android.vending类),因此无法支持应用内结算。

Testing in-app billing页明确指出应用内结算无法与仿真器一起使用:

To test in-app billing in an application you must install the application on an Android-powered device. You cannot use the Android emulator to test in-app billing.

+0

是的,可能我得到的错误我没有在调试模式下运行签名的应用程序。但我怎样才能调试签名的应用程序? – penguru 2012-04-03 08:35:44

0

没有办法对它进行测试,如果您用调试密钥签署您的应用程序。

注意如果您想运行调试器,则只需使用调试密钥进行签名。我建议用释放键进行签名,并使用良好的日志记录而不是调试。

并确保将部署到应用程序的相同版本的应用程序上载到开发者控制台(它可以是草稿,不需要发布)。请参阅In-app billing, can't make RESULT_DEVELOPER_ERROR go away

0

那么,您可以调试已签名的应用程序。

在清单中,在<application>标记中设置android:debuggable="true"标记。启动应用程序,在eclipse中转到DDMS视图,在设备选项卡中找到您的应用程序进程,选择它并附加调试器(在选项卡菜单处为绿色的bug)。

1

这是一个老问题,但有人可能仍然觉得它有用。

实际上,你可以调试应用程式内购买:

  • 创建你的发布密钥库的自定义密钥库调试如下所述:http://blogprogramistyandroid.blogspot.com/2011/04/converting-release-keys-to-debug.html

  • 建立一个版本的apk(还不如用你的真实版本脚本,带有proguard和东西)并将其上传到Play商店帐户的“alpha测试”部分。发布alpha版本。您可能还需要添加测试Gmail账户作为测试人员(只需创建一个空的G +组作为所有者) - 但它也可能没有它,我没有尝试过。

  • 现在做你的调试,使用您在步骤1中创建自定义调试键,并确保在您的清单中的应用程序版本匹配你上传的在上一步一个alpha版本的版本。

  • 您可能需要等待一段时间才能在Google的深度注册alpha版本,但这可能只是为了从应用商店下载测试版本。

瞧,你现在可以做一步一步或诸如此类的东西和实际购买实际产品。

P.S.并且在完成调试IAP后,不要忘记删除该自定义调试密钥库。

相关问题