it-roy-ru.com

Как использовать команду su над оболочкой adb?

Мне нужно сделать скрипт, который выполняет много вещей на устройстве Android, мое устройство рутируется, когда я вхожу в оболочку, я могу дать команду su, и она работает, но мне нужно передать эту команду, например:

adb Shell "
su;
mv /sdcard/Download/app_test /data/local;
cd /data/local;
./app_test;
exit;
exit;
"

когда я ставлю некоторые команды перед su, он работает, в соответствии с тем, что я прочитал, su создает новую оболочку, которая немедленно возвращается, но мне нужно дать команды на оболочку su, как я могу это сделать?

20
Alex

Хорошо, если ваш телефон рутирован, вы можете запускать команды с помощью команды "su -c".

Вот пример команды cat в файле build.prop для получения информации о продукте для телефонов.

adb Shell "su -c 'cat /system/build.prop | grep" product "'"

Это вызывает разрешение root и запускает команду внутри ''

Обратите внимание на 5 конечных кавычек, которые необходимы для закрытия ВСЕХ ваших конечных кавычек, иначе вы получите ошибку.

Для пояснения формат таков.

adb Shell "su -c '[ваша команда идет сюда]'"

Убедитесь, что вы вводите команду ТОЧНО, как обычно, когда запускаете ее в Shell.

Попробуйте, надеюсь, это поможет.

26
A-Droid Tech

Команда su ничего не выполняет, она просто повышает ваши привилегии.

Попробуйте adb Shell su -c YOUR_COMMAND.

4
shkschneider

По умолчанию CM10 разрешает root-доступ только из приложений, а не из ADB. Перейдите в «Настройки» -> «Параметры разработчика» -> «Root access» и измените опцию на «Приложения и ADB». 

2
Luca Pignatelli Trojano