- Build.prop и init.d скрипты и твики в Андроид
- Куда добавлять скрипты и твики Android?
- Твики build.prop
- Скрипты init.d
- Всего лишь меняем модель эмулятора Android устройства
- Пролог
- Дисклеймер
- Зачем это нужно?
- Достаем build.prop
- Редактируем build.prop
- Запускаем эмулятор с доступом на перезапись системных файлов
- Активируем доступ на перезапись системных файлов
- Редактируем правильный build.prop
- Подводим итоги
- Улучшаем работу Android-смартфонов за счет редактирования системного файла BuildProp — какие твики положительно влияют на смартфон
- BuildProp — кастомизируем Андроид
- Редактируем файл build.prop — что нужно иметь для начала?
- Как редактировать build.prop и какой программой?
- Скачать программу BuildProp Editor для Android бесплатно
- BuildProp — подборка основных твиков для Android
- Улучшение интерфейса через build.prop
- Мгновенная мелодия вызова
- Автоповорот экрана блокировки
- Улучшение производительности через build.prop
- Ускорение загрузки
- Ускорение памяти
- Ускорение сетевого подключения
- Увеличение автономности через build.prop
- Увеличение времени сканирования Wi-Fi
- Экономим заряд на LinegeOS
- Пустые строки, которые никак не влияют на систему
- Твики для Android — видео обзор
Build.prop и init.d скрипты и твики в Андроид
вкл. 31 Май 2016 . Опубликовано в Android — Общее
Build.prop и init.d скрипты и твики в Андроид. Хотели бы качественно улучшить работу Android смартфона или планшета в плане быстродействия и автономности и автоматизации? В этом вам помогут скрипты и твики в build.prop / init.d!
К большому сожалению практически многие производители Android смартфонов и планшетов не реализовывают весь потенциал устройства, что фактически влияет на скорость работы, автономность, повышение функциональности, удобства.
На данной странице вы найдете коллекцию скриптов и твиков Android build.prop и init.d.
Куда добавлять скрипты и твики Android?
На работу Android влияют изменения в конфигурационном файле build.prop, который находиться в корне раздела /system , а также скрипты в системе инициализации находящиеся в /system/etc/init.d, но для начала нужно активировать поддержку init.d на уровне ядра.
Твики build.prop
Отображаемый язык при первом запуске Android (или полного сброса)
Если же данных строк нет, но есть:
Включение Отладки по USB при первом запуске Android (или полного сброса)
Добавить или изменить:
Улучшить качество фотографий
Добавить или изменить:
Улучшить качество снимков (за счет уменьшения скорости работы)
Улучшить качество снимков и видеозаписи
Добавить или изменить:
Улучшить качество мобильной сети
Добавить или изменить:
Улучшить качество передаваемой речи в мобильной сети
Добавить или изменить:
Акселерация интерфейса за счет GPU устройства
Добавить или изменить:
Отключить анимацию при включение устройства
Добавить или изменить:
Установить скорость анимации включения
Ускорить загрузку устройства
Добавить или изменить:
Отключить логирование ошибок ядра
Ускорить работу потокового видео
Добавить или изменить:
Внесение лаунчера в память
Добавить или изменить:
Увеличение автономности работы Android при использование Wi-FI
Добавить или изменить:
Улучшить реакцию сенсора дисплея
Добавить или изменить:
Увеличение скорости скрола (но ухудшается плавность)
Улучшить качество приема 2G и 3G сетей
Добавить или изменить:
Google DNS
Изменение плотности экрана DPI
Скрипты init.d
Для того чтобы скрипты работали, необходимо:
- Ядро с поддержкой init.d
- Root права Android
- Установленный BusyBox
- Дописать в build.prop sys.initd=1
Все скрипты добавлять в папку init.d находящуюся по пути /system/etc.
Ниже будет представлено описание и ссылка на скрипт.
Скрипт sqlite — сжимает базы данных приложений и системы, тем самым ускоряя работу Android.
Скрипт zipaligin — оптимизирует работу установленных приложений, тем самым ускоряя работу Android.
Скрипт centisecs — ускоряет работу Android за счет оптимизаций работы записи данных на диск.
Скрипт zminfree — оптимизирует выгрузку приложений из оперативной памяти.
Скрипт batterystats — сбрасывает статистику работы батареи (использовать если неправильно отображает заряд батареи).
Скрипт wifi_idle_wait — Удержания соединения Internet по Wi-Fi при выключенном экране.
Источник
Всего лишь меняем модель эмулятора Android устройства
Пролог
Казалось бы, на первый взгляд весьма простая задача. Некоторые читатели могли еще в те бородатые времена лазить по всяким 4пда, рутить свой сенсорный самсунг, менять содержимое файла build.prop и показывать наивным ламерам свой iPhone 15+ Max Pro. Однако, как оказалось, и как оно часто бывает, не все так просто и здесь есть свои подводные камни. Статья призвана помочь простым работягам избежать все кочки да ямы на пути к своей цели!
Дисклеймер
Сразу предупрежу, что люблю писать подобные статьи довольно подробно, не ради объема и многобукав, а ради максимального погружения в проблему и способ ее решения. Обратите внимание, что я работаю на macOS, поэтому все команды в терминале будут ориентированы под данную ОС. Также, следует отметить, что проворачиваю все это для API 30, то есть для самого последнего на момент написания статьи. Как говорят интернеты, сложности по этой теме начались с API 29.
Зачем это нужно?
Предполагаю, что у вас, дорогой читатель, есть на это своя веская причина, иначе не стали бы вы этим заниматься. Наиболее вероятно, что у вас, как и у меня есть программная проверка на модель устройства с которого запущено приложение, примерно как здесь. К слову, таким образом можно будет проверять результат наших трудов. Второй же, и более простой способ проверки модели эмулятора будет через настройки девайса в разделе сведений об устройстве:
Ради контекста вкратце расскажу зачем это понадобилось мне. Я получил .apk с багом где-то внутри приложения. Однако пройти дальше первого экрана в этом приложении я не смог. Дело в том, что при запуске, с сервера приходит список разрешенных для запуска устройств и ни мой народный Ксяоми, ни мой эмулятор в этот список не входит. Вот и додумался поменять имя модели устройства на одно из разрешенных. Рутить свой личный телефон не хотелось, поэтому решил шаманить с эмулятором.
Экран не пустивший меня дальше
Достаем build.prop
Как уже говорилось в начале статьи, за имя производителя и модель устройства отвечает системный файл build.prop, который находится в корне устройства в папке system/. Однако при попытке просмотреть его, не говоря уже о редактировании, мы получим отказ в доступе:
Для решения этой проблемы необходимо в терминале обратиться к adb и запросить root права следующей командой: adb root . И вот и первый подводный камень, а именно вывод следующего сообщения: adbd cannot run as root in production builds . Это из-за того что при создании эмулятора мы выбрали вариант с установленными Google сервисами:
Простое решение — создать эмулятор без установленных Google сервисов, после чего повторить команду adb root . После чего в консоли должно появиться сообщение: restarting adbd as root что говорит об успешном проведении операции. Естественно если с самого начала у вас был эмулятор без Google сервисов, то скорее всего с adb root и выше описанной проблемой вы не столкнулись.
Отлично, теперь мы видим содержимое файла 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
Вот здесь и начинается самое интересное! По умолчанию эмулятор запускается в режиме чтения системных файлов, без возможности делать записи. Следовательно, что либо поменять без прав на запись у нас не выйдет. Для этого нам необходимо запустить эмулятор в ручном режиме с доступом на запись системных файлов.
Запускаем эмулятор с доступом на перезапись системных файлов
Для этого нужно выполнить следующую команду в терминале (чтобы скорее всего получить еще одну ошибку):
emulator -avd Pixel3XLAPI30 -writable-system -no-snapshot -nocache
итак здесь Pixel3XLAPI30 — это название нашего эмулятора который мы будем запускать в режиме записи, получить это имя можно выполнив команду emulator -list-avds
-writable-system — собственно тот самый флаг и виновник торжества.
-no-snapshot -nocache — просто советую ввести чтобы избавиться от любого возможного мусора, который может помешать нашему плану-капкану.
После у нас либо запустится эмулятор (несколько секунд запускается, так что если тупит то так и должно быть) либо получаем ошибку следующего типа:
PANIC: Missing emulator engine program for ‘x86’ CPU.
Что бы и нам решить с этим нужно в файле .bash-profile (или если у вас zsh то в файле .zshenv) находящийся в корне вашего профиля macOS, добавить дополнительные пути. Вот как это выглядит у меня:
есть такая переменная ANDROIDHOME и с ее участием редактируем переменную PATH:
Чтобы изменения вступили в силу перезапускаем терминал (или вводим source
/.bash_profile ) (или source
/.zshenv ). Результат можно проверить выполнив команду echo $PATH и убедиться что в переменной PATH появился добавленный нами путь.
Пробуем запустить эмулятор еще раз.
emulator -avd Pixel3XLAPI30 -writable-system -no-snapshot -nocache
Теперь он должен был успешно запустится.
Активируем доступ на перезапись системных файлов
Из описания флага -writable-system:
-writable-system make system & vendor image writable after ‘adb remount’
делаем вывод что теперь нам нужно выполнить adb remount . Для этого открываем новое окно терминала и выполняем сначала команду adb root , что бы adb remount сработало.
После adb remount , будет сообщение что эмулятор нужно перезапустить. Сделать это можно командой adb reboot. Но и здесь не все так просто. Очередной подводный камень об который мы разбили еще один ноготь на пальцах ног. Если сделать adb reboot то все просто напросто зависает НАВСЕГДА. Настолько навсегда, что придется удалять эмулятор и создавать его заново. Интернет и с этим столкнулся и даже баг создали на гуглов. И благо нашлось решение. Чтобы эмулятор не зависал нужно добавить пару команд до adb remount .
Итак по порядку:
Делаем adb root
Теперь делаем adb shell avbctl disable-verification
Если вы вдруг остались в shell то введите exit
Перезагружаем эмулятор adb reboot и ждем
Снова делаем adb root
И вот теперь можно делать adb remount
Ура! Теперь мы можем записывать файлы в системную папку нашего эмулятора. Можем пушнуть наш отредактированный build.prop файл: adb push build.prop system/ . Сделаем adb reboot и убеждаемся что ничего не поменялось… Имя модели не изменилось.
Редактируем правильный build.prop
Вернемся к началу и заметим, что значения ro.product.product.name и ro.product.product.model не соответствует тому, что отображается в настройках устройства. Изучив структуру системных папок я заметил, что существует несколько файлов build.prop, которые располагаются в папках: system, system_ext, vendor и product. Эмпирическим методом я скачивал, редактировал и пушил обратно каждый из этих файлов. В конце концов ключевым оказался файл в папке product. Отредактировав его я наконец-то смог изменить название модели эмулятора устройства!
Подводим итоги
Наконец-то я смогу запустить приложение и воспроизвести баг. Подумал я…
Теперь я уперся в то, что запускаю приложение якобы с рутованого девайса (ну да есть такой грешок). И дело даже не в команде adb root , ведь команда adb unroot не помогла. Что ж, опускать руки уже поздно, придется что-то придумать.
О том, как я обходил проверку на рутованность устройства я расскажу в следующей своей статье. Немного реверс инжиниринга и даже такая популярная библиотека как RootBeer не проблема.
Данной статьей я стремился собрать как можно больше проблем по этому вопросу и изложить все в форме step-by-step. Спасибо за ваше внимание и очень надеюсь, что статья оказалась полезной!
Источник
Улучшаем работу Android-смартфонов за счет редактирования системного файла BuildProp — какие твики положительно влияют на смартфон
BuildProp — кастомизируем Андроид
Сегодня наиболее популярными операционными системами для мобильных устройств являются такие решения, как Android и iOS. Есть конечно и другие ОС, но на сегодняшний день их доля ничтожно мала. И если система iOS закрыта от глаз обычного пользователя и даже ее взлом мало что решает, то с Android дела обстоят иначе. Разлочив загрузчик и получив Root-права, пользователь может изменять практически все, что ему пожелается. Есть множество утилит для видоизменения внешнего вида Android, но как обстоят дела с иными настройками, как например, ускорение скорости Wi-Fi, улучшение (реальное) производительности, оптимизация памяти и т.д? Все это можно улучшить, всего лишь добавив несколько новых строчек или поменяв уже имеющиеся в единственном файле build.prop на смартфоне. Грамотное использование твиков не вызовет в работе аппарат никаких сбоев, более того, смартфону можно будет вдохнуть новую жизнь. Сегодня мы расскажем как правильно редактировать столь важный атрибут системы Android, как build.prop, чтобы получить от смартфона максимум.
Редактируем файл build.prop — что нужно иметь для начала?
Чтобы залезть в мозги к своему смартфону, необходимо быть продвинутым юзером и хотя бы немного понимать, что вы совершаете. Так вот, без root-прав build.prop отредактировать не получится вовсе, а неграмотная работа с файлом приведет к bootloop — циклической бесконечной перезагрузке устройства. Именно поэтому предупреждаем вас, что все действия вы делаете исключительно на свой страх и риск .
Как работает сам файл build.prop? Все достаточно просто: когда смартфон загружается, система Android считывает параметры файла build.prop, которые так или иначе влияют на работу системы в целом. Среди таких параметров имеются как важные системные, которые вовсе не стоит трогать, так и практически безобидные. Порой часть параметров системой просто не читается, игнорируются и у каждого смартфона это индивидуальные параметры. Если сделать все правильно и не трогать то, что недозволенно, то можно запросто улучшить работу гаджета. Как это сделать — читайте далее.
Как редактировать build.prop и какой программой?
Имея рут-доступ остаётся лишь скачать необходимый текстовый редактор и произвести манипуляции. Если root еще нет, но вы очень ходите его получить, то проследуйте на такой сайт, как 4PDA и найдите все необходимые инструкции для своего телефона. Чтобы отредактировать build.prop потребуется такой редактор, как BuildProp Editor, который отлично справляется со своими задачами. Он удобен и не занимает много месте в памяти.
Скачать программу BuildProp Editor для Android бесплатно
Перед всеми манипуляциями советуем сделать резервные копии build.prop, чтобы при каких-либо осложнениях его можно было легко и без проблем восстановить, не прибегая к переустановке системы. BuildProp Editor сохраняет бекап оригинального файла и это очень удобно. Однако, если что-то вдруг пойдет не так, то испорченный build.prop всегда можно будет заменить вручную через TWRP, просто перетащив оригинальный файл в нужное место.
BuildProp — подборка основных твиков для Android
Для вашего удобства мы разбили все твики по категориям: улучшение интерфейса, улучшение производительности, увеличение автономности. Также в конце статьи мы разберем некоторые абсолютно бесполезные твики, которые не приносят никакой пользы, но при этом их очень активно рекомендуют в интернете.
Улучшение интерфейса через build.prop
Мгновенная мелодия вызова
Не всем нужна такая функция, однако многие девайсы немного думают перед тем, как врубить музыку входящего звонка, не убедившись точно, что связь установлена. На деле это выглядит примерно так: сначала загорается дисплей смартфона, а через несколько секунд начинает играть мелодия вызова. Исправить такое поведение устройства можно, вписав в build.prop всего две строки:
Сохраняемся и перезагружаемся — теперь все звонки поступают мгновенно.
Автоповорот экрана блокировки
Автоповорот экрана блокировки также нужен не всем, но представьте ситуацию, когда смартфон установлен в машине в горизонтальном положении. Каждый раз при разблокировке придется сталкиваться с определенными трудностями, особенно если стоит еще и графический/цифровой пароль. Ни один Android-смартфон не позволяет поворачивать экран блокировки, но отредактировав файл build.prop, проблема решается мгновенно. Для переключения экрана блокировки в горизонтальный режим необходимо вписать следующее:
Пример работы такой манипуляции можете наблюдать на скриншоте.
Улучшение производительности через build.prop
Как ускорить загрузку девайса, улучшить работу постоянной памяти и подключения к сети — все это описано ниже.
Ускорение загрузки
Современные смартфоны, несмотря на свою мощность, перезагружаются все также долго, как и устройства 5-летней давности. Более того, даже ПК на Windows 10 итого быстрее перезагружается, нежели мобильный аппарат. Чтобы ускорить скорость загрузки системы, в файл build.prop потребуется вписать две строки:
После нехитрой процедуры система будет игнорировать анимацию загрузки, показывая просто черный или белый экран — бояться не стоит, это нормальная практика. Обычно после отключения анимации аппарат должен загружаться на 15-20 секунд быстрее от среднего результата в 45-50 секунд.
Ускорение памяти
Изначально Androis OS настроена так, что вносит все изменения, все действия в специальный log-файл, однако логгирование необходимо лишь для разработчиков при дебаге приложений, но никак не обычным пользователям. Именно поэтому логгирование действий можно смело отключать, дабы не тратить системные ресурсы. Для этого пишем в файл build.prop следующее:
Отключение создания лог-файла позволит уменьшить нагрузку на встроенную память, а это, несомненно, положительно скажется на быстродействии ОС. Конечно, в разных аппаратах стоит разный тип памяти (дешевый-медленный и дорогой-быстрый), но хотя бы небольшой прирост в скорости ощутят все.
Ускорение сетевого подключения
Данный твик помогает увеличить размер TCP-буфера, тем самым увеличивая скорость медленного интернет-подключения (особенно при использовании моб. сетей). Кроме того прописывание DNS-сервисов Гугл в ряде случаев помогает уменьшить пинг.
- 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
- net.rmnet0.dns1=8.8.8.8
- net.rmnet0.dns2=8.8.4.4
- net.dns1=8.8.8.8
- net.dns2=8.8.4.4
В нашем случае скорость загрузки увеличилась практически в 2 раза, но не стоит забывать, что наибольшее влияние на скорость оказывает постоянно изменяющаяся загрузка базовых станций.
Увеличение автономности через build.prop
Никакие твики существенно не могут увеличить время автономной работы смартфона, но немного добавить все же можно. В среднем дополнительные 30-60 минут — а разве они будут лишними?
Увеличение времени сканирования Wi-Fi
Изначально Android сканирует окружающие его Wi-Fi сети примерно каждые 30-90 секунд. Это работает даже тогда, когда сам Wi-Fi модуль выключен, но имеется разрешение на фоновое сканирование доступных сетей для повышения точности определения местоположения. Но выход есть — увеличиваем интервал сканирования до 200 секунд и улучшаем автономность:
Экономим заряд на LinegeOS
Данная ОС является одной из самых популярных, которая предлагает пользователю голый, но продвинутый и самый свежий Android. Чтобы на LinegeOS немного улучшить время работы от батареи, необходимо вписать строку:
Учтите, что этот твик работает на смартфонах только с процессором от Qualcomm. Кстати, если у вас стоит более ранняя версия LinegeOS под названием Cyanogen Mod, то твик заработает и на ней.
Пустые строки, которые никак не влияют на систему
Помимо полезных твиков для Android, существует бесконечное множество и бесполезных, которые активно рекомендуют и пиарят в сети. Однако под красивыми словами не кроется абсолютно ничего — они попросту игнорируются и не исполняются системой, а значит и их влияние на ОС нулевой. Соответствующее расследование провел один из активных пользователей популярного ресурса XDA, проанализировав исходники AOSP. Вот какие строки в build.prop никак не влияют на систему и не улучшают работу смартфонов:
Не экономят заряд аккумулятора | Не ускоряют систему Android |
|
|
Интересно, что некоторые записи все же когда-то были полезны для Android и успешно работали, но не сейчас. Но тем, кто уже вносил нечто подобное в свой build.prop волноваться не о чем — нерабочие строки попросту игнорируются и никак не ухудшают работоспособность Android.
Твики для Android — видео обзор
Источник