我在本地测试应用内订阅产品时收到此错误消息。
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
- 在 Google Play 管理中心中,确保应用在 alpha 或 beta channel 中发布(< 是在最初处理后的一次性手动步骤),并且您拥有获得许可的测试 gmail 帐户(来自帐户设置部分)也在 alpha/beta 测试人员列表中,并且不是应用程序帐户的所有者。此帐户是设备上的唯一帐户。发布 apk 并确保它可以从 Play 商店中安装的版本运行。
- 进行以下设置:
在
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
从 Android Studio 生成签名的 APK
连接您的设备以进行 USB 调试。删除当前安装:
adb uninstall {yourdomain}.{yourpackagename}
- 安装它(从发布路径)
adb install app-release.apk
- 在设备上打开应用。在 Android Studio 的
Run
菜单中,最后一个选项是“将调试器附加到 Android 进程” - 选择您的设备。您现在正在调试。
注意对于应用内结算,内部版本号需要与当前在 Play 商店中发布的版本号相匹配
关于android - 是否可以在 Android Studio 中本地调试 Google Play 的应用内计费?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36113347/