Android 在不创建签名APK的情况下测试Google Play Store应用程序内购买
我正在使用带有IABHeloper类的GooglePlayBillingAPIv3测试应用内购买。如果我创建一个已签名的APK并将其安装在测试设备上,购买产品可以正常工作(),但如果我只是直接从Eclipse运行我的应用程序(即未签名),并尝试触发购买,Play Store会向我显示以下消息,而不是购买对话框:Android 在不创建签名APK的情况下测试Google Play Store应用程序内购买,android,in-app-purchase,signing,Android,In App Purchase,Signing,我正在使用带有IABHeloper类的GooglePlayBillingAPIv3测试应用内购买。如果我创建一个已签名的APK并将其安装在测试设备上,购买产品可以正常工作(),但如果我只是直接从Eclipse运行我的应用程序(即未签名),并尝试触发购买,Play Store会向我显示以下消息,而不是购买对话框: 错误 此版本的应用程序未配置为通过Google Play计费。 有关更多信息,请查看帮助中心。 和日志输出: 06-05 11:23:28.687:D/IabHelper(2727):
错误
此版本的应用程序未配置为通过Google Play计费。
有关更多信息,请查看帮助中心。
和日志输出:
06-05 11:23:28.687:D/IabHelper(2727):购买已取消-响应:5:开发人员错误
总是要生成一个APK并将其上传到设备以允许测试购买,这是非常痛苦的。有没有一种方法可以直接从Eclipse运行应用程序来实现这一点?Eclipse在开发过程中使用存储在主文件夹的
.android
文件夹中的debug.keystore
文件对应用程序进行签名
用包含您自己的签名密钥的新Java密钥库文件替换此文件将允许您从使用您自己的密钥签名的Eclipse运行应用程序
为了让Eclipse接受新的密钥库文件,密钥库和密钥都必须使用默认密码“android”进行保护,并且密钥必须命名为“androiddebugkey”.我正在使用Android Studio,可以轻松创建一个已签名的apk,并使用signingConfig for release buildType和installRelease任务直接在我的设备上安装 示例build.gradle:
signingConfigs {
release {
storeFile <file>
storePassword <password>
keyAlias <alias>
keyPassword <password>
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
签名配置{
释放{
存储文件
存储密码
keyAlias
钥匙密码
}
}
建筑类型{
释放{
signingConfig signingConfigs.release
}
}
如果您可以在Android Studio上加载应用程序,我可以帮助您。当您从Eclipse运行应用程序时,它不是未签名的,而是使用调试密钥签名的。您可以尝试用释放密钥替换调试密钥,看看这是否解决了问题。@adelphus这听起来是个很有前途的主意。请允许我提两个简短的问题:1。我该怎么做?:)2.那么,我是否必须在每次运行应用程序时输入我的密钥存储密码(如果是这样,那是痛苦多于收获)?1。Google it:-)您基本上必须替换Eclipse在主文件夹中寻找的用于签署应用程序的debug.keystore文件(不要忘记备份原始文件)。2.debug.keystore文件使用“android”的默认密码(一个用于密钥库,一个用于密钥)——一旦您创建了自己的版本(当然包含自己的密钥),它应该就可以工作了。@adelphus听起来不错!谢谢如果您愿意,您可以将您的评论转换为答案,这样我就可以在它工作后接受它了!:)不幸的是,所有其他平台都使用Eclipse进行编码(RoboVM、GWT、Blackberry等等)。所以,事实上,我对谷歌决定推出自己的产品而不是专注于修复SDK和库中的所有bug感到非常恼火。。。因此,虽然我很感谢你的帮助,但我会尽量避免使用Android Studio。。。我宁愿把我的脑细胞集中在编码上,而不是学习另一个IDE。。。(我希望这听起来不像是我对你或你的回答感到不安。我真的很感谢你的帮助。我只是在这方面对谷歌感到不安。)