У меня есть один «обычный» Android-планшет, и часто, когда я прихожу установить приложение, Google Play говорит, что оно несовместимо с моим устройством. Это происходит даже в таких популярных приложениях, как Twitter, Instagram, Evernote, Foursquare и даже Google Maps!
Я знаю , что это работает, потому что, если я скопирую APK с моего телефона Motorola на этот планшет и установлю его вручную, он будет работать нормально (по крайней мере, Instagram и Twitter).
Я не пытаюсь заставить Instagram работать на моем планшете. Я пытаюсь найти способ установить приложения из Play Store.
Как и где Google Play выполняет проверку совместимости моего устройства? Я подозреваю, что указанная проверка как-то не работает. Я хочу иметь возможность устанавливать приложения, которые будут работать на моем устройстве, и чтобы Google Play не мешал мне.
Когда разработчики создают приложения, они должны указать любые требования к оборудованию/программному обеспечению в файле, называемом androidmanifest.xml
файлом.
Это могут быть требования к оборудованию или программному обеспечению, например, если приложению требуется GPS или функции телефонии, или если оно будет работать только на определенной версии Android.
Когда вы используете Google Play, он отправляет «функции» вашего устройства на сервер, а затем соответствующим образом фильтрует приложения.
Наиболее вероятная причина, по которой Google Play считает его несовместимым, заключается в том, что он требует определенного разрешения экрана или, возможно, портретного/ландшафтного режима по умолчанию.
Некоторые планшеты имеют низкое разрешение, а также сообщают google play, что не могут перейти в портретный режим.
Также может быть, что ваш планшет является универсальным, что он не имеет необходимого GPS или датчиков, которые требуются в файле манифеста, и рынок мешает вам установить из-за этого.
Я узнаю, что нужно приложению Instagram (посмотрите на его манифест), и отредактирую этот ответ для вас.
РЕДАКТИРОВАТЬ:
Согласно манифесту Instagram, единственным «обязательным» элементом является версия glEs — минимум 131072. Это также может быть связано с настройкой страны/оператора вашего планшета.
Твиттеру требуется как минимум Android 2.1, а также может потребоваться вибратор, поскольку он использует разрешение на вибрацию.
Я знаю, что вы не думаете, что это связано с вашей страной, ОДНАКО я заметил, что ваш скриншот был на языке, отличном от английского. Я разработчик 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 содержит обе необходимые текстовые строки. Однако пользователь увидит сообщение об ошибке и кнопку принудительного закрытия, когда это приложение будет запущено на устройстве, для которого выбран язык, отличный от английского. Приложение не загружается.
Обратите внимание на часть о том, как приложение может компилироваться без проблем, но также может отображать сообщение об ошибке и принудительное закрытие, если локаль устройства не поддерживается этим приложением. Я понимаю, что это не то, что происходит с вами, но может быть связано с вашей проблемой, потому что Google Play увидит, что ваше устройство может быть настроено на языковой стандарт, который рассматриваемое приложение не поддерживает или не имеет определенного набора ресурсов. Google Play может скрыть это приложение на вашем устройстве, даже если оно может работать нормально из-за ресурсов по умолчанию, которые предположительно написал разработчик, однако Google Play может решить, что не хочет рисковать разгневанным клиентом из-за проблемы принудительного закрытия, поэтому он может просто полностью скрыть это от вас. Опять же, это просто идея, и я понимаю, что вы видите другое сообщение о несовместимости с вашей страной. Надеюсь это поможет.
Этот бразильский парень
Этот бразильский парень