Android adb build prop

Как редактировать Android Build.Prop с помощью основных настроек —

Устройства Android используют универсальный build.prop, который контролирует флаги времени выполнения при загрузке системы Android. Многие свойства уникальны для каждого устройства, но есть несколько твиков build.prop, которые можно применять повсеместно практически для всех телефонов Android. Это руководство покажет вам эти настройки и как отредактировать файл build.prop.

Предупреждение: Настройка вашего build.prop может кирпич вашего Android устройства. Настройки, которыми я делюсь, должны работать без проблем на любом устройстве Android, но вы должны всегда иметь резервную копию ваших данных и стокового ПЗУ на случай, если что-то случится.

Как редактировать ваш Build.Prop

Самый быстрый способ — использовать приложение root explorer (для которого требуется рутованный телефон) — ES File Explorer, FX и Root Explorer — отличные приложения. Вам нужно будет смонтировать / system как доступный для чтения / записи в настройках вашего корневого обозревателя.

Перейдите в папку / system и найдите файл build.prop, затем откройте его в текстовом редакторе.

Кроме того, вы можете скачать твикер build.prop через магазин Google Play. BuildProp Editor и ROM Toolbox являются рекомендуемыми приложениями.

Второй способ, который не требует рутированного телефона, — через режим восстановления. Не все стандартные режимы восстановления производителей позволяют монтировать раздел / system, поэтому, если это относится к вам, поищите, как установить собственное восстановление, такое как TWRP, на ваше устройство.

Источник

Как редактировать Build.prop без рута с помощью ADB в TWRP recovery

Если вы когда-либо погружались в настройку своего Android-устройства помимо приложений из Play Store, вы могли столкнуться с редактированием файла build.prop. Он расположен в /система каталог вашего устройства.

Что такое файл build.prop?

Вы можете задаться вопросом, что делает файл build.prop и почему он так важен для ОС, установленной на вашем устройстве. Что ж, файл build.prop содержит информацию о свойствах системы и другую важную информацию о сборке, которая используется в масштабе всей системы на устройстве Android.

Строки и значения, определенные в файле build.prop, критически важны для ОС, поскольку они определяют, какие функции должны быть включены на устройстве. Редактируя файл build.prop, вы можете создавать или изменять системные свойства, которые затем загружаются при перезагрузке вашего устройства.

Недавно мы опубликовали сообщение о том, как редактировать файл Build.prop на Android с помощью приложения-редактора build.prop из Play Store, для которого требуется root-доступ. Но если вы не хотите или не можете получить root права на свое устройство Android, но можете загрузить на него пользовательское восстановление, такое как TWRP, то вы также можете редактировать build.prop без рута.

Пользовательское восстановление поставляется с полным корневым доступом и возможностью настроить соединение ADB для изменения / изменения файлов в системном разделе вашего устройства Android. Следовательно, вы можете использовать собственное восстановление для редактирования файла build.prop без рутирования устройства.

Чтобы получить помощь по установке восстановления TWRP на ваше устройство, следуйте страницам справки по установке TWRP для прошиваемых образов TWRP Fastboot и Odin.

Как: установить TWRP через Fastboot | Установите TWRP с помощью Odin

Источник

Читайте также:  Html native app android

Включение «Отладки по USB» редактированием системы

Если с вашим Android произошла какая то беда и включить «Отладку по USB» не удается стандартным путем, то можно попробовать активировать ее с помощью редактирования системных файлов Android.

Отладка по USB не включается!

Если у вас частично разбит дисплей и нет возможности обычным способом активировать «Отладку по USB», тогда можно попробовать изменить системные файлы Android, чтобы все заработало!

Данный материал предназначен НЕ ДЛЯ НОВИЧКОВ, а пользователей с большим опытом работы с ОС ANDROID!

Включаем «Отладку» через редактирование
системных файлов Android

Чтобы все заработало необходимо чтобы выполнились несколько условий:

  1. Наличие установленных Root прав на Android
  2. Наличие установленного кастомного Recovery

Редактируем файл default.prop

Для этого нужно разобрать ядро Android

В ramdisk найти файл default.prop и внести правки:

ro.adb.secure=0
ro.secure=0
ro.debuggable=1
persist.sys.usb.config=mtp,adb
persist.service.adb.enable=1
persist.service.debuggable=1

После чего собрать ядро и прошить его.

Редактируем файл build.prop

Переведите устройство в режим Recovery, после чего выполните следующие команды adb:

su
mount -o rw,remount,rw /system
pull /system/build.prop

После чего на вашем компьютере рядом с adb появиться файл build.prop.

Отредактируйте файл, внеся следующие изменения:

ro.adb.secure=0
ro.secure=0
ro.debuggable=1
persist.sys.usb.config=mtp,adb
persist.service.adb.enable=1
persist.service.debuggable=1

Готовый файл build.prop отправить на Android:

adb push build.prop /sdcard

adb push build.prop /storage/emulated/0/build.prop

и переместить в раздел /system

cp /sdcard/build.prop /system

cp /sdcard0/build.prop /system

cp /storage/emulated/0/build.prop /system

Если у вас установлен Android версии ниже 4.2, то «Отладка по USB» уже включена, если же Android 4.3 и новей, то необходимо внести еще дополнительные настройки.

Авторизация ADB

su
mount -o rw,remount,rw /data
pull /data/data/com.android.providers.settings/databases/settings.db

Установить на компьютер редактор sqlite SQLiteStudio и откройте через него файл settings.db

Измените значение adb_enabled на 1

Вернуть файл settings.db:

adb push settings.db /sdcard
cp /sdcard/settings.db /data/data/com.android.providers.settings/databases/

Вот и все! После этого все должно заработать! Оставайтесь вместе с сайтом Android +1, дальше будет интересней!

Источник

Всего лишь меняем модель эмулятора 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 — просто советую ввести чтобы избавиться от любого возможного мусора, который может помешать нашему плану-капкану.

Читайте также:  Изменить разрешение экрана android x86

После у нас либо запустится эмулятор (несколько секунд запускается, так что если тупит то так и должно быть) либо получаем ошибку следующего типа:

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. Спасибо за ваше внимание и очень надеюсь, что статья оказалась полезной!

Источник

Оцените статью