Как работает Google Play, если приложение совместимо с моим устройством?

17

У меня есть один «стандартный» планшет Android, и часто, когда я прихожу к установке и приложению, Google Play говорит, что он несовместим с моим устройством. Это происходит даже в популярных приложениях, таких как Twitter, Instagram, Evernote, Foursquare и даже в Google Maps!

Я знаю, что это работает, потому что, если я скопирую APK с моего телефона Motorola на этот планшет и установлю его вручную, он будет работать нормально (по крайней мере, для Instagram и Twitter).

Я не пытаюсь заставить Instagram работать на моем планшете. Я пытаюсь найти способ установки приложений из Play Store.

Google Play говорит, что приложения несовместимы

Как и где Google Play выполняет проверку совместимости на моем устройстве? Я подозреваю, что проверка как-то не проходит. Я хочу иметь возможность устанавливать приложения, которые будут работать на моем устройстве, и остановить Google Play, мешая мне.

Этот бразильский парень
источник
2
Приложения не блокируются из-за страны моего устройства, я знаю это, потому что когда оно заблокировано из-за страны, сообщение отличается от i.imgur.com/B69bn.png и даже не отображается в Google Play, Я должен открыть страницу на своем рабочем столе.
Этот бразильский парень
1
И мой телефон Motorola Defy, и мой отличный планшет Genesis работают на Android 4 (Cyanogenmod 9 в случае моего телефона, неизвестный ром в случае планшета).
Этот бразильский парень

Ответы:

10

Когда разработчики создают приложения, они должны указать любые аппаратные / программные требования в файле, называемом androidmanifest.xmlфайлом.

Это могут быть требования к оборудованию или программному обеспечению, например, если приложению требуется GPS или функции телефонии, или если оно будет работать только на определенной версии Android.

Когда вы используете Google Play, он отправляет «функции» вашего устройства на сервер, а затем соответствующим образом фильтрует приложения.

Наиболее вероятная причина, по которой Google Play считает его несовместимым, заключается в том, что для него установлено определенное разрешение экрана - или, возможно, по умолчанию установлен портретный / альбомный режим.

Некоторые планшеты имеют низкое разрешение, а также сообщают Google Play, что они не могут перейти в портретный режим.

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

Я выясню, что нужно приложению instagram (посмотрите на манифест), и отредактирую этот ответ для вас.

РЕДАКТИРОВАТЬ:

Согласно манифесту Instagram, единственным «обязательным» элементом является версия glEs - минимум 131072. Это также может быть связано с настройкой страны / оператора вашего планшета.

Твиттеру нужен минимум Android 2.1, а также может потребоваться вибратор, поскольку он использует разрешение вибрации.

Лиам В
источник
1
Нет, это не из-за страны моего устройства, ни оператора связи. У него нет оператора связи (нет возможностей GSM или телефона), и когда какое-то приложение блокируется из-за страны, отображается другое сообщение - i.imgur.com/B69bn.png
Этот бразильский парень
@ ruda.almeida Просто закрываю все границы ...
Лиам W
Нет проблем, я просто предоставляю больше данных, спасибо за ваши усилия!
Этот бразильский парень
1
@ ruda.almeida Если приложение запрашивает разрешение на телефонию (для отправки / получения текстов), оно также требует аппаратного оборудования.
Лиам
0

Я знаю, что вы не думаете, что это из-за вашей страны ОДНАКО я заметил, что ваш скриншот был на другом языке, кроме английского. Я разработчик Android, поэтому я немного знаком с локализацией . В основном приложения имеют определенную информацию, localesкоторая «представляет комбинацию языка / страны / варианта. Локали используются для изменения представления информации, такой как числа или даты, в соответствии с соглашениями в регионе, который они описывают» (см. Это на сайте разработки Android ). Это привлекло мое внимание:

Java-код приложения ссылается только на две строки: text_a и text_b. Это приложение включает в себя локализованный файл ресурсов (res / values-en / strings.xml), который определяет text_a и text_b на английском языке. Это приложение также включает файл ресурсов по умолчанию (res / values ​​/ strings.xml), который включает определение для text_a, но не для text_b:

Это приложение может быть скомпилировано без проблем. Среда IDE, такая как Eclipse, не будет выделять ошибки, если ресурс отсутствует. Когда это приложение запускается на устройстве с языковым стандартом, установленным на английский язык, приложение может работать без проблем, поскольку файл res / values-en / strings.xml содержит обе необходимые текстовые строки. Однако пользователь увидит сообщение об ошибке и кнопку «Принудительное закрытие» при запуске этого приложения на устройстве, настроенном на язык, отличный от английского. Приложение не будет загружаться.

Обратите внимание на часть о том, как приложение может скомпилироваться без проблем, но также может отображать сообщение об ошибке и Force Close, если устройство имеет языковой стандарт, который не поддерживается этим приложением. Я понимаю, что это не то, что происходит с вами, но может относиться к вашей проблеме, потому что Google Play увидит, что ваше устройство может быть настроено на локаль, для которой данное приложение не поддерживает, или для которой имеется определенный набор ресурсов. Google Play может скрыть это приложение от вашего устройства, несмотря на то, что оно может нормально работать из-за ресурсов по умолчанию, написанных разработчиком, однако Google Play может решить, что не хочет рисковать злым клиентом из-за проблемы Force Close, поэтому может просто полностью скрыть это от вас. Опять же, это всего лишь идея, и я понимаю, что вы видите другое сообщение о несовместимости с вашей страной. Надеюсь это поможет.

ninge
источник
1
Интересно, я понятия не имел об этом (и я подозреваю, что некоторые разработчики тоже могут не знать). Однако мой телефон и планшет настроены на работу на одном языке. Я знаю , что есть несколько различных атрибутов системы , чтобы определить язык, страну, языковые и т.д., у меня есть несколько системных приложений , которые отображают его, я собираюсь запустить его и добавить информацию на мой вопрос.
Этот бразильский парень
1
Рад, что могу открыть для вас новую дверь. Возможно, вы захотите проверить две страницы для разработчиков, которые я предоставил, потому что что-то может появиться там, чтобы помочь вам.
ninge
1
Проверка совместимости с Google Play не основана на региональных настройках. Кроме того, для разработчика обычной практикой является использование ресурсов одной локали (например, английского) по умолчанию, поэтому в неподдерживаемой локали он будет просто использовать ресурсы по умолчанию.
Дэн Халм