Не удается получить надежную работу Android Market Licensing (LVL). Почти всегда возвращает RETRY - PullRequest
2 голосов
/ 12 августа 2011

Я пытаюсь заставить лицензирование Android работать в моем первом Android приложении.

Я следовал интерактивным руководствам и интегрировал код LVL , используя ServerManagedPolicy.

Независимо от того, какой ответ теста лицензии я установил в консоли разработчика, я почти всегда (9 раз из 10) получаю LicenseResponse.RETRY .Поскольку DEFAULT_MAX_RETRIES = "0" это всегда преобразуется в NOT_LICENSED

Я пробовал:

  • включение / выключение WiFi
  • запуск платных приложений, которые я купил (онивсе работает!)
  • отключение USB
  • , работающего в виртуальной машине и моем реальном телефоне

Я всегда получаю один и тот же результат.В тех немногих случаях, когда у меня был лицензированный ответ, к нему не добавлялись какие-либо дополнительные функции для увеличения максимального числа повторных попыток.Я думаю, что это суть проблемы - при первой попытке получить лицензию у меня нет допусков повторных попыток или срока действия в настройках по умолчанию.

Как я могу заставить это работать надежно?


Редактировать 1


Нашел это в логах.Означает ли это, что есть проблема с подключением к приложению Android Market?

08-18 21:12:16.071: INFO/LICENSE(10852): checkLicense
08-18 21:12:17.271: INFO/LicenseChecker(10852): Binding to licensing service.
08-18 21:12:17.281: WARN/ActivityManager(80): Unable to start service Intent { act=licensing.ILicensingService }: not found
08-18 21:12:17.281: ERROR/LicenseChecker(10852): Could not bind to service.
08-18 21:12:17.301: INFO/LICENSE(10852): dontAllow

Ответы [ 2 ]

2 голосов
/ 24 января 2012

Убедитесь, что это в вашем AndroidManifest:

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

Требуется для проверки кода лицензии.

2 голосов
/ 18 августа 2011

Вам могут помочь две вещи:

  1. Если вы используете консоль разработчика для имитации ответа, иногда требуется больше нескольких минут, чтобы обновить ответ, полученный при предыдущих попытках,Так что, если вы смоделировали ОТКРЫТЫЙ ответ, вам, вероятно, нужно подождать некоторое время, прежде чем вы сможете получить ответ УСПЕХА.Иногда даже перезагрузка вашего устройства не поможет, так что вам просто нужно подождать.
  2. У механизма LVL есть некоторые проблемы, и даже на пользовательских устройствах вы можете получить ответ FAILED, если какое-то время нет подключения к Интернетуустройство или какая-либо другая ошибка сети.Я рекомендую сделать несколько повторных попыток поверх встроенных повторных попыток LVL, поскольку я обнаружил, что им нельзя доверять и они подвержены ошибкам.Это, вероятно, уменьшит количество ложноотрицательных отчетов, которые вы получите от своих пользователей ...
...