Что такое build телефона
Редактирование файла build.prop
Преимуществом операционной системы Android является возможность ее оптимизации и настройки под свои нужны. Например редактирование системного файла build.prop, позволит добавить в систему парочку улучшений.
На данный момент в Google Play можно найти множество программ, которые позволят не только изменить внешний вид, но и переписать некоторые системные файлы. Но именно ручное редактирование позволит внести ясность во все происходящее.
Где искать файл build.prop
Рекомендую сохранить оригинал файла отдельно
Редактировать его можно как на самом устройстве, так и на компьютере.
Изменяем build.prop
В первых строчках подробно описано:
Редактирование этих данных позволит изменить название модели или например версию Android. Просто внесите изменения в соответствующие строки.
Внимание: внесение этих данных может привести к ошибкам в работе устройства
Но все это баловство. Пора переходить к твикам, которые будут вносить улучшения в работу вашего планшета или смартфона.
Открываете файл build.prop и добавляете необходимые вам записи. Принцип добавления записи простой:
Список твиков(настроек) для build.prop
Отключение анимации при загрузке
После внесения этих данных ваш планшет будет загружаться практически моментально
Улучшение энергосбережения
Оптимизация работы 3G
В теории повышает скорость работы сети
Отключение сообщений об ошибках
Изменение плотности экрана
По сути делает более крупные или мелкие иконки.
Улучшение отзывчивости системы
Добавляете необходимые вам строки в файл build.prop, сохраняете изменения и закидываете в папку system, перезаписав оригинал.
После перезагрузки планшета изменения вступят в силу.
Всего лишь меняем модель эмулятора Android устройства
Пролог
Казалось бы, на первый взгляд весьма простая задача. Некоторые читатели могли еще в те бородатые времена лазить по всяким 4пда, рутить свой сенсорный самсунг, менять содержимое файла build.prop и показывать наивным ламерам свой iPhone 15+ Max Pro. Однако, как оказалось, и как оно часто бывает, не все так просто и здесь есть свои подводные камни. Статья призвана помочь простым работягам избежать все кочки да ямы на пути к своей цели!
Дисклеймер
Сразу предупрежу, что люблю писать подобные статьи довольно подробно, не ради объема и многобукав, а ради максимального погружения в проблему и способ ее решения. Обратите внимание, что я работаю на macOS, поэтому все команды в терминале будут ориентированы под данную ОС. Также, следует отметить, что проворачиваю все это для API 30, то есть для самого последнего на момент написания статьи. Как говорят интернеты, сложности по этой теме начались с API 29.
Зачем это нужно?
Предполагаю, что у вас, дорогой читатель, есть на это своя веская причина, иначе не стали бы вы этим заниматься. Наиболее вероятно, что у вас, как и у меня есть программная проверка на модель устройства с которого запущено приложение, примерно как здесь. К слову, таким образом можно будет проверять результат наших трудов. Второй же, и более простой способ проверки модели эмулятора будет через настройки девайса в разделе сведений об устройстве:
Ради контекста вкратце расскажу зачем это понадобилось мне. Я получил .apk с багом где-то внутри приложения. Однако пройти дальше первого экрана в этом приложении я не смог. Дело в том, что при запуске, с сервера приходит список разрешенных для запуска устройств и ни мой народный Ксяоми, ни мой эмулятор в этот список не входит. Вот и додумался поменять имя модели устройства на одно из разрешенных. Рутить свой личный телефон не хотелось, поэтому решил шаманить с эмулятором.
Экран не пустивший меня дальше
Достаем build.prop
Как уже говорилось в начале статьи, за имя производителя и модель устройства отвечает системный файл build.prop, который находится в корне устройства в папке system/. Однако при попытке просмотреть его, не говоря уже о редактировании, мы получим отказ в доступе:
Отлично, теперь мы видим содержимое файла build.prop:
Редактируем build.prop
Сохраним файл build.prop в любое удобное место для дальнейшего редактирования выделенной красным области на скриншоте выше. Я сохранил прямо на рабочий стол:
Вносим необходимые изменения. Просмотрев логи запросов и ответов предоставленного мне .apk я нашел приходящий с сервера список разрешенных устройств. То есть, для моих целей нужно поменять два значения на PIXEL 3A XL (как вы поняли, здесь вы можете указывать необходимую именно вам модель):
Сохраняем изменения и заливаем файл обратно на эмулятор. Делается это при помощи команды adb push (кстати, скачать файл с эмулятора можно при помощи adb pull если у вас вдруг аллергия на GUI).
Вводим команду в терминал: adb push build.prop system/
adb: error: failed to copy ‘build.prop’ to ‘system/build.prop’: remote couldn’t create file: Read-only file system
Вот здесь и начинается самое интересное! По умолчанию эмулятор запускается в режиме чтения системных файлов, без возможности делать записи. Следовательно, что либо поменять без прав на запись у нас не выйдет. Для этого нам необходимо запустить эмулятор в ручном режиме с доступом на запись системных файлов.
Запускаем эмулятор с доступом на перезапись системных файлов
Для этого нужно выполнить следующую команду в терминале (чтобы скорее всего получить еще одну ошибку):
После у нас либо запустится эмулятор (несколько секунд запускается, так что если тупит то так и должно быть) либо получаем ошибку следующего типа:
PANIC: Missing emulator engine program for ‘x86’ CPU.
Что бы и нам решить с этим нужно в файле .bash-profile (или если у вас zsh то в файле .zshenv) находящийся в корне вашего профиля macOS, добавить дополнительные пути. Вот как это выглядит у меня:
есть такая переменная ANDROIDHOME и с ее участием редактируем переменную PATH:
Чтобы изменения вступили в силу перезапускаем терминал (или вводим source
/.bash_profile ) (или source
Пробуем запустить эмулятор еще раз.
Теперь он должен был успешно запустится.
Активируем доступ на перезапись системных файлов
Из описания флага -writable-system:
-writable-system make system & vendor image writable after ‘adb remount’
Теперь делаем adb shell avbctl disable-verification
Если вы вдруг остались в shell то введите exit
Перезагружаем эмулятор adb reboot и ждем
Снова делаем adb root
И вот теперь можно делать adb remount
Редактируем правильный build.prop
Вернемся к началу и заметим, что значения ro.product.product.name и ro.product.product.model не соответствует тому, что отображается в настройках устройства. Изучив структуру системных папок я заметил, что существует несколько файлов build.prop, которые располагаются в папках: system, system_ext, vendor и product. Эмпирическим методом я скачивал, редактировал и пушил обратно каждый из этих файлов. В конце концов ключевым оказался файл в папке product. Отредактировав его я наконец-то смог изменить название модели эмулятора устройства!
Подводим итоги
Наконец-то я смогу запустить приложение и воспроизвести баг. Подумал я…
О том, как я обходил проверку на рутованность устройства я расскажу в следующей своей статье. Немного реверс инжиниринга и даже такая популярная библиотека как RootBeer не проблема.
Данной статьей я стремился собрать как можно больше проблем по этому вопросу и изложить все в форме step-by-step. Спасибо за ваше внимание и очень надеюсь, что статья оказалась полезной!
Редактируем файл build.prop
Сразу хочу предупредить — делайте бэкапы. И да, за превращение смартфона в кирпич или других последствий я ответственности не несу. Делайте всё на свой страх и риск.
Все эти действия работают так же на планшетах под управлением OS Android!
Подчёркнутые значения нужно менять для достижения результата.
debug.sf.hw= 1 — аппаратное GPU — ускорение. 1 — включить, 0 — выключить. Могут возникнуть проблемы с отображением чего — либо. Но лично я с этими проблемами пока что не встречался.
dalvik.vm.execution-mode=int: jit — отвечает за JIT. Значение jit его активирует, а fast — деактивирует. (JIT — Just In Time (С англ. «точно во время», «как раз вовремя», и т.п.))
ro.product.model= GT-I8150 — модель телефона, за которую система принимает имеющуюся. Изменяя это значение можно запустить некоторые приложения, в которых пишут что-то вроде: «Недоступно для вашей модели телефона», или т.п. Так же, таким образом можно обмануть плэй — маркет, и установить приложения, на которые он ругается, мол не пойдёт.
debug.sf.nobootanimation= 1 — эта строчка у многих отсутствует. Вообщем, значение 1 выключает анимацию при загрузке девайса. Немного ускоряет включение, но выглядит не так эффектно и эпично.
ro.media.dec.jpeg.memcap= 5000000 — отвечает за качество фотографий. Конечно, если у вас камера 5 мп, снимать на 40 мп она не будет.
ro.media.enc.hprof.vid.bps= 5000000 — отвечает за качество видео. В прочем, аналогично прошлой строчке.
ro.config.hwfeature_wakeupkey= 0 — отключаем возможность «разбудить» телефон нажатием на клавиши громкости.
windowsmgr.max_events_per_sec= 60 — эта строчка чаще всего изначально отсутствует. Но её можно дописать самостоятельно. Изменяя значения в ней, можно добиться максимально плавной и гибкой системы.
ro.build.display.id= Samoylov and all — all — all — это что-то типа номера сборки. Особой роли не играет. Посмотреть можно открыв « Настройки» => «О телефоне «.
ro.sf.lcd_density= 240 — плотность экрана. На некоторых девайсах отсутствует, можно дописать самому.
Изменения вступают в силу только после перезагрузки девайса!
Модернизируем файл build.prop
Введение:
В файловой системе любого смартфона на Android есть файл build.prop, который лежит по пути /system/build.prop. Само собой для доступа к этому файлу нам нужны root-права!
В данном файле хранятся данные о прошивке и настройки смартфона, которые применяются после включения аппарата.
Ниже я приведу твики, которые позволяют немного улучшить производительность нашего гуглофона, ну или по крайней мере сделать его работу более «комфортной».
Предупреждение! Все вы делаете на свой страх и риск! За работоспособность твиков не ручаюсь ибо каждый аппарат индивидуален.
Модернизация:
Для начала делаем бекап и другие действия для сохранения нервов в случае неудачного редактирования файла! Далее открываем файл и начинаем его редактирование.
Если описанных ниже строчек нет в вашем файле, то просто пишите их в конец файла.
Поехали (вместо звездочки * пишем нужное нам значение):
1) debug.sf.hw=*. Эта строчка отвечает за Аппаратное ускорение. Оно нужно для ускорения графического интерфейса. Значение 1 его активирует. Значение 0 его выключает. Пробуйте, проверяйте и вам воздастся. Лично у меня возникает рябь в графике (возможно сильная!), поэтому оффнул его.
2) wifi.supplicant_scan_interval=***. Эта строчка отвечает за интервал поиска Wi-Fi сетей. По умолчанию стоит 20. Значение измеряется в секундах. Это означает, что у нас стоит 20 сек. Советуется для экономии батареи поставить значение 180-200.
3) pm.sleep_mode=1
ro.ril.disable.power.collapse=0 – иностранные коллеги также советуют прописать эти 2 строчки для экономии заряда батареи.
4) dalvik.vm.heapsize=*m. Эта строчка устанавливает значение heapsize. Смысл в том, что в большинстве прошивок установлено малое значение памяти для использования приложением, программа расширяет это значение, тем самым увеличивая производительность и делая устройство более стабильным. Большое значение лучше не ставить, хотя можно поэкспериментировать. Лучший вариант — это 32m. Его кстати и рекомендуют.
5) dalvik.vm.execution-mode=int:***. Эта строчка отвечает за JIT. Значение jit включает его, а значение fast выключает. Технология JIT также служит для увеличения производительности аппарата. Еще раз напомню-может работать не у всех.
6) windowsmgr.max_events_per_sec=60. Делает интерфейс более гибким и плавным. Этой строчки изначально нет, нужно дописывать самому. Можете поиграться со значениями и выбрать подходящее.
7) ro.media.enc.jpeg.quality=100-повышаем качество jpg. А если быть более точным, то изменяем степень сжатия фоток. При параметре 100 размер фоток вырастет примерно в 2 раза.
8) ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000 – повышаем качество аудио и видеозаписи камеры. Опять же-выше заложенных аппаратных возможностей не прыгнешь, но зато достигнешь потолка).
Видео: Как изменить название телефона и версию андроида,редактируя build.prop на Samsung Galaxy GT-S7562
9) debug.sf.nobootanimation=1 – отключаем анимацию при включении. Немного ускоряет включение аппарата.
10) ro.lge.proximity.delay=25
mot.proximity.delay=25 – отключает появляющееся черное окошко после окончания звонка. Меня реально раздражало и это лично мне помогло)))
11) net.tcp.buffersize.default=4096, 87380, 256960, 4096, 16384, 256960 net.tcp.buffersize.wifi=4096, 87380, 256960, 4096, 16384, 256960 net.tcp.buffersize.umts=4096, 87380, 256960, 4096, 16384, 256960 net.tcp.buffersize.gprs=4096, 87380, 256960, 4096, 16384, 256960 net.tcp.buffersize.edge=4096, 87380, 256960, 4096, 16384, 256960 – меняем размер буфера TCP-говоря проще, немного улучшаем интернет-соединение. Будет полезным для тех, у кого медленный инет.
12) ro.ril.hsxpa=2
ro.ril.gprs > ro.ril.hep=1
ro.ril.enable.dtm=1
ro.ril.hsdpa.category=10
ro.ril.enable.a53=1
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=5 – твики для улучшения приема 3G-сигнала. Сам не проверял-оставляю на вас.
13) ro.HOME_APP_ADJ=1 — запрет на выгрузку лаунчера из памяти.
14) ro.kernel.android.checkjni=0 — исправляет некоторые ошибки приложений.
Видео: |УСИЛЕНИЕ ЗВУКА|ЭКОНОМ ЗАРЯДА|BUILD.PROP|BLACKVIEW A8|
15) persist.adb.notify=0 — отключение иконки режима отладки в статусбаре.
16) ro.config.hw_menu_unlockscreen=false — для включения возможности разблокирования экрана при помощи кнопки Меню (двойного нажатия), измените значение с «false» на «true»
17) Точное предназначение следующих строчек я не знаю, поэтому просто приведу список:
persist.sys.use_dithering=0
persist.sys.purgeable_assets=1
dalvik.vm.dexopt-flags=m=y
ro.mot.eri.losalert.delay=1000
18) Твики, определенные только для телефонов LG!
persist.service.pcsync.enable=0
persist.service.lgospd.enable=0
user.feature.flex=true
user.feature.lgdrm=false
user.feature.lgresource=false
user.feature.lgpoweroff=false
user.feature.ls_event=false
user.feature.ls_normal=false
user.feature.sui=false
Надеюсь кому-то будет полезным, но замечу, что если у вас стоит кастомная прошивка, то скорее всего многие твики уже включены в прошивке!
(1 оценок, среднее: 5,00 из 5)
Русские Блоги
Введение в Android build.prop
build.prop находится в /system/build.prop телефона
build.prop записывает некоторые системные настройки и представляет собой файл свойств, который эквивалентен реестру системы Windows.
build.prop генерация:
Make system выполняет синтаксический анализ build / core / Makefile, вызывает build / tools / buildinfo.sh для выполнения сценария для создания файла build.prop и помещает системный файл system.prop по умолчанию и настроенную систему. prop in Свойства добавляются к файлу build.prop.
Прикрепленный код build.prop
Интеллектуальная рекомендация
Как сделать ваши данные PPT из Python?
Нажмите на «Программирование«Выберите набор наУстановить как звездный стандарт” Качественные статьи, впервые доставка! Автор: Костас Андреу Компиляция сердца машины Участие: Джамин, Ч.
Jquery plugin orgchart для достижения приема дисплея многократной структуры деревьев
Требования: передняя стойка реализует графическое отображение нескольких узлов деревьев, а некоторая информация сохраняется на узле для формирования серии JSON к обрабатыванию фона. &nbs.
Использование динамических разрешений и анализ исходного кода RxPermissions
Основное использование После Android 6.0 была добавлена динамическая конфигурация разрешений. Цель состоит в том, что пользователи могут свободно выбирать, предоставлять ли разрешения приложения. Да.
Анализ исходного кода Dubbo (11) Обменник Dubbo
Посмотри сначалаExchangerОпределение интерфейсаbindс участиемconnect ,bindОн вызывается сервером и связывает порт для приема запросов от клиента.connectЭто как клиент для подключения к серверу и обмен.
Разница между формальными параметрами и фактическими параметрами в Java
1. Используйте в функции: Формальный параметр появляется в определении функции и может использоваться во всем теле функции, но не может использоваться вне функции. Фактический параметр появляется в ос.