当我试图运行我的应用程序内计费我得到的错误:“这个版本的应用程序没有配置通过谷歌播放计费。查看帮助中心获取更多信息”。

我已经在Manifest文件中有计费权限,我有一个签名的。apk作为草稿上传到谷歌Play上,我也已经在我的手机上安装了相同的签名apk。

有什么帮助可以解决这个问题吗?


当前回答

2021年结论

对于所有关心调试的人,您可以在调试模式下运行、调试和测试代码

下面是你如何测试这个过程:

(当然,这取决于您已经添加并激活了您的产品,并且您的代码已经准备好与这些产品集成)

将com.android. selling . billing添加到清单中 上传签名apk到内部测试 添加许可证测试员(播放控制台->设置->许可证测试)-如果你在你的设备上使用多个帐户,你不确定使用哪一个,只需将它们都添加为测试员。 像往常一样,从Android Studio运行应用程序(*应用程序应该具有与您刚刚上载到内部测试的应用程序相同的版本代码)

我做了上面的事情,它工作得很好。

其他回答

让我补充一下发生在我身上的事,也许能帮到别人。

这主要是由于签约。

由于我已经在Project结构中添加了签名细节,所以我认为每次运行时,都安装了期望的签名apk。但是选择了“调试”构建类型。

下面的修复为我解决了问题。

生成构建类型为“release”的签名apk。 手动安装apk。

我也遇到了同样的问题,在我读到DZDomi的帖子之前,问题没有解决。突然发现在谷歌开发人员控制台中有一个设置需要启用。在“In app purchases”部分,你的产品有一行,最右边是它的状态。它应该是活跃的!

如果你想集成另一个没有发布的应用程序,但与已部署的应用程序具有相同的id、版本代码和版本名,那么不要忘记编辑appname。iml文件版本在扑动应用程序,因为我坚持它与相同的错误。

最近谷歌对他们的系统进行了更改,因为你已经上传了至少一个APK到你的控制台,你可以用你的应用程序测试你的应用内请求,使用任何版本代码/号码。

交叉参考LINK

配置gradle为调试版本签名。

android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("my-release-key.jks")
            storePassword "password"
            keyAlias "my-alias"
            keyPassword "password"
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.release
            ...
        }
    }
}

这里没有提到的另一个原因是,您需要在真正的设备上进行测试。 随着模拟器变得越来越好,这是一个很容易犯的错误。