Я уже раньше немного затрагивал тему про расширение доступного софта в маркете на 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. Может уже не для маркет, а для самих приложений что-то меняет.
На чайнафоне есть много чего интересно, но найти там что-либо очень сложно - очень много информации.
А в целом смысл заметки более технический - чтобы понять в каком месте и для чего меняется.
я не настолько сведущ в
я не настолько сведущ в технических вопросах данной платформы, но методом научного тыка установил, что ничего, кроме отображения имени в маркете :)
Сейчас на работе, вечером могу приаттачить пермишены.
Спасибо
Буду благодарен
Как обещал
Пожалуйста: https://dl.dropbox.com/u/4475977/permissions.rar
Спасибо за блог. Очень интересно читать.
Спасибо
Спасибо, в понедельник посмотрю что там. И спасибо за отзыв о блоге, рад что делаю полезное дело.
Permissions
Посмотрел. Ну действительно побольше функционала указано. Кстати похоже взято с какой-то прошивки CyanogenMod (для другого, поддерживаемого телефона). По наличию файлов соб-но cyanogenmod и tmobile видно. Ну да это без разницы, главное что работает.
А куда это и как засунуть то?
А куда это и как засунуть то??
root
Нужны будут 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, перезалейте, если можно.
Заранее огромное спасибо.
Пожалуйста.
Пожалуйста + зеркало.
А, ещё
Также знаю, что в билд.проп иногда прописывают различные твики, но бурундук здесь неплохо пояснил http://zp200.ru/viewtopic.php?f=11&t=44&p=305&hilit=build#p308
Твики
Да, где-то я даже больше твиков находил. Но это уже к совместимости приложений не относится.
Я просто к чему это - если в build.prop поменять модель телефона, то маркет её будет опознавать. Т.е. данные о моделе на маркет передаются. Тут вопрос используются ли они для чего-то, кроме отображения в списке своих устройств ну и в комментариях.
не сработало
zp100 с Андроидом 4.0.3 и прошивкой 20120608
правда, у меня был свой build.prop, этот я побоялся использовать, он под 2.3.6 версию
можно ли сделать что-то еще? может быть у них теперь маркет хитрый стал и этот трюк не срабатывает?
Работает
Нет, всё работает и сейчас. И build.prop тут не при чем. Что-то вы не доделали. Проверьте права на файлах в /system/etc/permissions, сделайте очистку кэша и данных маркета и Google Services Framework, как написано в статье, с перезагрузкой.
У меня так именно на ZP100 работают любые приложения с маркета.
количество доступных каналов Wi-Fi
А где задаётся количество доступных каналов Wi-Fi? Кто-нибудь знает?
У меня видит только 11, как для USA.
ro.wifi.channels ни на что не влияет.
Нашел
Из того, что нашел в сети (сам с таким не сталкивался). Надо еще поменять ro.product.locale.region=EU.
Также еще в файле /data/data/com.android.providers.settings/databases/settings.db поменять wifi_country_code из таблицы secure на EU, JP или UK. Он формата sqlite, нужен RootExplorer + SQLite Editor, чтобы его нормально изменить, или взять где целиком файл готовый и заменить.
Еще возможно там же надо будет поменять wifi_num_allowed_channels на 14.
Спасибо! Теперь знаю, куда
Спасибо! Теперь знаю, куда копать
День добрый подскажите
День добрый подскажите пожалуйста вот по такому вопросу я использую эмулятор Genymotion с google nexsus s и мне надо установить приложения но они пишут ваш девайс забанен видят что я использую эмулятор тогда я взял в build.prop всунул ваш build.prop но получил бесконечною загрузку потом взял вснул из вашего build.prop до
# end build properties но получил тоже самое
может есть какието програмы которые видят к каким настройкам получает доступ приложение и я эти настройки подправлю при установке оно требует доступ к device id и wifi аандроид ид я меня лне помогает такгже мануфактурэд итп imei в мотион все 0 может изо этого но как его сменить пока не нашёл сам в этом новичёк но в програмах разбираюсь подскажите куда смотреть
build.prop
За идентификацию устройства в build.prop отвечают в основном строки, с ro.build и ro.product. Только не изменяйте ro.product.cpu.* - скорее всего из-за них и не хочет загружаться.
Но в целом методов обнаружения работы в эмуляторе может быть несколько. И причина может крыться совсем не в build.prop.
Добавить комментарий