android - 是否可以在 Android Studio 中本地调试 Google Play 的应用内计费?

标签 android android-studio in-app-purchase google-play in-app-billing

我在本地测试应用内订阅产品时收到此错误消息。

authentication is required. you need to sign in to your google account

我可以查看产品的库存,但我不应该也可以购买吗?

有很多关于为什么会发生此错误的帖子,我认为这些帖子已得到解决:

  • 产品在 Beta channel 中发布并启用了应用内结算
  • 我已使用设备上的测试用户许可帐户登录 Play 商店。

是通过 beta/alpha channel 测试实际购买的唯一方法 - 不是直接来自 android studio。这篇文章表明它是可能的(见屏幕截图)

http://developer.android.com/google/play/billing/billing_testing.html#billing-testing-test

最佳答案

编辑:这现在被新接受的答案所取代。

本质上,应用内结算付款只能使用发布签名的 apk(我们上传到 Google Play 管理中心的那个)进行测试。

以下是一些让我使用 Android Studio 附加到签名 apk 的步骤:

我在 Windows 上。它有助于将 adb.exe 放在 PATH 中,对我来说是:

C:\Users{your-username}\AppData\Local\Android\sdk\platform-tools

  1. 在 Google Play 管理中心中,确保应用在 alpha 或 beta channel 中发布(< 是在最初处理后的一次性手动步骤),并且您拥有获得许可的测试 gmail 帐户(来自帐户设置部分)也在 alpha/beta 测试人员列表中,并且不是应用程序帐户的所有者。此帐户是设备上的唯一帐户。发布 apk 并确保它可以从 Play 商店中安装的版本运行。
  2. 进行以下设置: 在 application 节点下的 AndroidManifest.xml
android:debuggable="true"
tools:ignore="HardcodedDebugMode"

注意: 很可能,您需要在 list 标签中添加: xmlns:tools="http://schemas.android.com/tools" 属性。它可能看起来像:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="your.package"
 xmlns:tools="http://schemas.android.com/tools">

android > buildTypes > release 下的 build.gradle 文件中,添加:

debuggable true

  1. 从 Android Studio 生成签名的 APK

  2. 连接您的设备以进行 USB 调试。删除当前安装:

adb uninstall {yourdomain}.{yourpackagename}

  1. 安装它(从发布路径)

adb install app-release.apk

  1. 在设备上打开应用。在 Android Studio 的 Run 菜单中,最后一个选项是“将调试器附加到 Android 进程” - 选择您的设备。您现在正在调试。

注意对于应用内结算,内部版本号需要与当前在 Play 商店中发布的版本号相匹配

关于android - 是否可以在 Android Studio 中本地调试 Google Play 的应用内计费?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36113347/

相关文章:

java - android java中/data/data/package/files文件夹中的文件内容被删除

android - 保真警告渲染问题

android - 如何在 Android 上设置日志文件最大大小

android - 在水平 ScrollView 中单击时如何滚动到芯片?

java - Android Studio 请求位置权限弹窗

javascript - Ti.Storekit 钛

java - 如何阻止我的应用程序被幸运修补?

iOS 应用内购买内容集成

Android - 如何从微调器中获取选定的项目值并将其放入字符串中?

android - 如何在android中获取Fragment的包名(不是Activity的)