Неполный Play маркет (Android) или permissions
Я уже раньше немного затрагивал тему про расширение доступного софта в маркете на Zopo ZP100 в этой статье.
Некоторый софт, после изменения build.prop все равно продолжал не находиться. Решение оказалось простым, однако мало где описано. Точнее решение было вшито в различные кастомные прошивки. Однако сам процесс и смысл решения отдельно особо не расписывается.
А смысл в том, что на любом Android-гаджете есть системный каталог /system/etc/permissions, в котором храниться набор XML файлов. В этих файлах задается перечень функционала телефона. Т.е. наличие камер, GPS, Wi-Fi и прочего.
В стоковых прошивках для ZP100 большинство из реально существующего функционала закомментировано. Т.е. отключено. Оно не мешает ему работать на самом деле. Но если приложение в маркете задает в списке своих требований скажем требование фичи android.hardware.location.gps (соб-но GPS), а у вас в permissions он не прописан, то приложение не будет находиться в маркете.
Следовательно надо его включить. Для этого понадобится root на устройстве, чтобы иметь права на запись в /system. Основной файл там будет handheld_core_hardware.xml (или tablet_* для планшетов). В нем задается большинство фич.
Вот маленький архив с моей модификацией фич, можно его выложить в /system/etc/permissions заместо старых файлов для ZP100. Возможно он не оптимален, я делал его на скорую руку. Мне он помог однако. Во всяком случае цель заметки - дать понять технически подкованным людям, в какую сторону копать. Так я сам долго искал подобную информацию, не будучи сильно ознакомленным с android'ом со стороны разработчика (в SDK написано про эти permissions).
Также еще раньше я давал вариант build.prop для Nexus S 4G. Сейчас пробую использовать вариант build.prop под просто Nexus S, возможно он чем-то лучше. Во всяком случае сейчас в маркете у меня телефон определяется полностью как Samsung Nexus S, даже иконка оного рядом есть. Иконка появилась только после исправления permissions.
После замены permissions надо остановить приложение маркета и Google Services Framework. А также удалить их кеш и данные. Попробовать запустить маркет снова - он выдаст ошибку. Надо перезагрузить телефон. После этого по идее все должно заработать. У меня не помогло, пришлось удалять привязку к аккаунту Google и заново его добавлять. Тогда все заработало, правда пропали привязки программ к аккаунту Google и объединение контактов (у меня они связаны были с учетками Skype и Vkontakte).
Звучит может заморочено, статья носит технический смысл. Если не понятно, то думаю стоит просто поискать кастомную прошивку, где эта проблема уже исправлена.
Если есть какие-либо вопросы - с радостью отвечу в комментариях или по почте.
Комментарии (20)
на чайнафоне выложен архив сна чайнафоне выложен архив с пермишнами в теме zp200. Там хороший готовый файл, находит абсолютно всё. Несмотря на длинную инструкцию там в действительности надо только заменить handheld_core_hardware.xml. билд.проп при этом можно не трогать. Телефон будет определяться как зп200, но при этом будет неограниченный доступ ко всем приложениям
Спасибо за комментарийИнтересно, если ли какой-либо толк от изменений самого build.prop. Может уже не для маркет, а для самих приложений что-то меняет. На чайнафоне есть много чего интересно, но найти там что-либо очень сложно - очень много информации. А в целом смысл заметки более технический - чтобы понять в каком месте и для чего меняется.
я не настолько сведущ вя не настолько сведущ в технических вопросах данной платформы, но методом научного тыка установил, что ничего, кроме отображения имени в маркете :) Сейчас на работе, вечером могу приаттачить пермишены.
Спасибо Как обещал СпасибоСпасибо, в понедельник посмотрю что там. И спасибо за отзыв о блоге, рад что делаю полезное дело.
PermissionsПосмотрел. Ну действительно побольше функционала указано. Кстати похоже взято с какой-то прошивки CyanogenMod (для другого, поддерживаемого телефона). По наличию файлов соб-но cyanogenmod и tmobile видно. Ну да это без разницы, главное что работает.
А куда это и как засунуть то?А куда это и как засунуть то??
Нужны будут ROOT права на устройстве. Просто нужно распаковать файлы из архива куда-нибудь на устройство (или на microSD карту) и затем с помощью любого файл менеджера с root перемонтировать каталог /system с правами на запись (RW) и переписать эти файлы в /system/etc/permissions поверх старых (можно старых копию сделать). Затем еще надо будет права проставить такие же, как и были (root root rw-r--r--). Еще как вариант через adb или ssh. Я например через прогу SSHDroid и подключенный WiFi делаю. Подключаюсь к домашнему WiFi на телефоне и компе, запускаю SSHDroid - она показывает IP телефона. С помощью программы на комп WinSCP подключаемся к этому IP (логин root, пароль в настройках SSHDroid указывается) и можно переписывать прямо на телефон в /system/etc/permissions. Там же и права если надо можно будет поменять.
Сборка permissionsСсылка не работает. PLS, перезалейте, если можно. Заранее огромное спасибо.