Существует несколько способов получить root-права на Андроид и один из самых простых — воспользоваться приложением Kingo Root. Эта программа подстраивается под каждое устройство и версию операционной системы Android, используя их уязвимости для взлома Андроид. Как установить root на Android с помощью Kingo Root читайте на Трешбоксе.
Лучший Telegram-канал про технологии (возможно)
Лучший Telegram-канал про технологии (возможно)
Что такое root права и зачем они нужны?
Смоделируем ситуацию – человек приобретает новый смартфон, но на нём много предустановленных приложений, которые не нужны и при этом грузят систему. При этом новый телефон из коробки уже несколько подвисает – согласитесь, ситуация не из приятных, а удалить эти приложения стандартными инструментами нельзя. Конечно, можно и отказаться от телефона, но в ряде случаев пользователь подходит к выбору осознанно, с пониманием ситуации и знанием дела подбирает мощность аппарата.
В таких случаях и требуется получение root-прав. Они позволяют глубоко погрузиться в настройки, удалить ненужные встроенные приложения, максимально комфортно настроить систему под себя. Есть три типа root-прав:
- Full Root – максимальный пакет, полный доступ к системе, включает в себя возможность изменения любого файла, включая системные.
- Shell Root – позволяет изменять любые системные настройки, но при этом отсутствует доступ к папке system.
- Temporary root – временные рут права, как правило, по уровню доступа соответствуют shell root.
Обратите внимание, что в некоторых устройствах получение максимального доступа к настройкам ограничено на аппаратном уровне.
Запустить скрипт как root через ADB Oh! Android
Я создал скрипт для монтирования разделов и создания некоторых вещей в моей системе Android. Я сохранил скрипт как install.sh в папке / bin Android.
Я хочу вызвать скрипт из ADB, который сам вызывается из пакетного файла в Windows, но его нужно выполнить с правами root.
Первое, что я попробовал, – это вызвать скрипт, используя
adb shell «su -c sh /bin/script.sh»
Но он не работает, поскольку он дает мне доступ к оболочке (с правами root), но ничего не выполняется. Я также попытался позвонить
adb root «sh /bin/script.sh»
Но я получил следующую ошибку
adbd cannot run as root in production builds
Затем я попытался написать
su -c «command»
Для всех команд, которым нужен корневой доступ в моем скрипте, но у меня такая же проблема. Когда я запускаю скрипт, я получаю только корневую оболочку и ничего не выполняется.
Если я использую первое решение вручную (например, я вызываю adb shell su, то мой скрипт), он работает. Однако все дело в автоматизации процесса, так что оболочку adb можно вызвать из другого скрипта.
У вас есть представление о том, как я могу это достичь?
Благодаря !
Это работает для меня:
Создайте myscript.bat и поместите в него (обратите внимание на одинарные кавычки вокруг команд, которые будут выполняться в режиме суперпользователя):
adb shell «su -c ‘command1; command2; command3′»
Затем запустите myscript.bat из оболочки DOS.
Примечание: в этой ситуации не работает символ продолжения строки DOS (^). Другими словами, для меня не работает следующее:
adb shell «su -c ‘^ command1; ^ command2; ^ command3′»
Это приводит к ошибке «Синтаксическая ошибка: неисчерпаемая строка»
Это работает :
adb shell echo command which needs root privileges \| su
Если вам необходимо перенаправить:
adb shell echo ‘echo anytext > /data/data/aforbiddenfolder/file’ \| su
Для «копирования» локального файла на путь android, требующий прав root (но alocalfile не должен содержать ‘ ):
cat alocalfile | adb shell echo «echo ‘`cat`’ > /data/data/aforbiddenfolder/file» \| su
Если у вас есть лучший способ (даже для версий su которые не имеют -c ), мне интересно.
Это работает для меня:
adb shell «su -c ./data/local/tcpdump-arm -s 0 -v -w /data/local/appxpress_dump.pcap»
Но он не работает, поскольку он дает мне доступ к оболочке (с правами root), но ничего не выполняется.
Откуда вы знаете, что вам предоставлены права root? Я предполагаю, что вы пытаетесь выполнить скрипт на устройстве? Было ли ваше устройство укоренено?
Возможно, вам придется предоставить разрешения на выполнение через chmod в файл.
chmod ugo=rwx /bin/script.sh
Похоже, что я использовал очень простую версию su, которая не принимала аргумент -c. Я скопировал другое su, которое действительно сработало. AndyD совершенно прав, хотя, поэтому я принимаю его ответ вместо моего