Можно ли отлаживать локальную загрузку приложений Google Play в Android Studio?

Я получаю эту ошибку, тестируя продукты подписки на приложения локально.

Требуется аутентификация. Вам нужно войти в свою учетную запись google

Я смог проверить инвентарь для продукта, но не должен ли я его купить?

Есть несколько сообщений о том, почему эта ошибка может возникнуть, о которой я думал, были адресованы:

  • Продукт выпускается в бета-канале с включенным биллингами в приложении
  • Я зарегистрирован в Play Маркете с лицензированной учетной записью тестируемого пользователя на устройстве.

Это единственный способ проверить фактические покупки через бета-альфа-каналы – не прямо из студии Android. Этот пост предполагает, что это возможно (см. Снимок экрана)

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

По сути, платежные платежи в приложении можно тестировать только с помощью apk с подпиской (той, которую мы загружаем в Google Play Console).

Вот несколько шагов, которые привели меня к подписанному apk с Android Studio :

Я нахожусь в Windows. Это помогает иметь adb.exe в PATH, для меня это:

C: \ Users {ваш-имя пользователя} \ AppData \ Local \ Android \ SDK \ платформенные инструменты

  1. В Google Play Console убедитесь, что приложение опубликовано (это одноразовый ручной шаг после его первоначальной обработки) в альфа-или бета-канале, и у вас есть лицензионная учетная запись gmail (из раздела «Настройки учетной записи»), которая также находится в списке Альфа / бета-тестеров и не является владельцем учетной записи приложения. Эта учетная запись является единственной учетной записью на устройстве. Отпустите apk и убедитесь, что все это работает из установленной версии из Play Маркета.
  2. У вас есть следующие настройки: в AndroidManifest.xml под узлом application
 android:debuggable="true" tools:ignore="HardcodedDebugMode" 

И в вашем файле build.gradle разделе android > buildTypes > release добавьте:

debuggable true

  1. Создайте подписанный APK из Android Studio

  2. Подключите устройство к USB-отладке. Удалить текущую установку:

adb uninstall {yourdomain}.{yourpackagename}

  1. Установите его (из пути выпуска)

adb install app-release.apk

  1. Откройте приложение на устройстве. Из меню « Run Android Studio последний параметр «Прикрепить отладчик к Android-процессу» – выберите ваше устройство. Теперь вы отлаживаете.

NB для выставления счетов внутри приложения номер сборки должен соответствовать тому, который в настоящее время опубликован в Play Маркете

Я предполагаю, что когда вы инициализируете «помощник биллинга», вы предоставляете ему открытый ключ Base64 с консоли разработчика. Этот ключ соответствует вашему сертификату выпуска.

Сообщение, которое вы получаете, предполагает, что вы, вероятно, пытаетесь запустить приложение в режиме отладки. Это означает, что ваше приложение подписано с использованием сертификата отладки (по умолчанию). Если я прав, это объясняет, почему вы не авторизованы.

К сожалению, единственный способ протестировать биллинг в приложении – это приложение, подписанное с использованием сертификата выпуска, на устройстве, зарегистрированном в учетной записи, которое определяется как «учетные записи Gmail с доступом к тестированию», и ваше приложение должно быть опубликовано В Google Play (альфа / бета / производство).

Возможно, другой подход:

Похожий в большинстве способов на то, что упоминается здесь, за исключением того, что вы просто указываете на свое хранилище ключей в своем отладочном файле buildType.

Точные шаги: 1) В вашем файле Gradle приложения в теге android добавьте конфигурацию подписи релиза:

signingConfigs { release { storeFile file("Path_to_your_Production_release_Keystore.jks") storePassword 'your_keystore_password' keyAlias 'your_key_alias' keyPassword 'your_key_password' } }

И добавьте конфигурацию подписи в свой debug buildType:

buildTypes { release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-project.txt', 'proguard-google-api-client.txt' } debug { signingConfig signingConfigs.release debuggable true } }

2) Убедитесь, что versionCode и defaultConfig разделе app gradle> defaultConfig соответствуют именно тому, что находится в apk, который вы загрузили в магазин воспроизведения:

defaultConfig { applicationId "com.groovypackagename.groovyapp" minSdkVersion 16 targetSdkVersion 24 versionCode 56 versionName "0.9.6" multiDexEnabled true resConfigs "en" }

3) Обязательно добавьте разрешение на оформление вашего манифеста:

<uses-permission android:name="com.android.vending.BILLING" />

4) Не забудьте добавить свои продукты IAB (в приложении) для каждого документа

5) Установите свои точки останова и отлаживайте их в обычном режиме.

6) После того, как вы успешно обманули свой код, не забудьте очистить, по крайней мере, изменения в вашем файле градиента, такие как удаление конфигурации подписи, чтобы ваши пароли kestore не плавали в пространстве.

С удачей вам удастся выполнить локальную отладку для вашего кода IAB.

Приветствия.