Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在不创建签名APK的情况下测试Google Play Store应用程序内购买_Android_In App Purchase_Signing - Fatal编程技术网

Android 在不创建签名APK的情况下测试Google 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):

我正在使用带有IABHeloper类的GooglePlayBillingAPIv3测试应用内购买。如果我创建一个已签名的APK并将其安装在测试设备上,购买产品可以正常工作(),但如果我只是直接从Eclipse运行我的应用程序(即未签名),并尝试触发购买,Play Store会向我显示以下消息,而不是购买对话框:

错误
此版本的应用程序未配置为通过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。。。(我希望这听起来不像是我对你或你的回答感到不安。我真的很感谢你的帮助。我只是在这方面对谷歌感到不安。)