Как использовать команду su над оболочкой adb?
Мне нужно сделать script, который выполняет много вещей на устройстве Android, мое устройство коренится, когда я вхожу в оболочку, я могу дать команду su, и она работает, но мне нужно передать эту команду как
adb shell "
su;
mv /sdcard/Download/app_test /data/local;
cd /data/local;
./app_test;
exit;
exit;
"
когда я добавляю некоторые команды перед выполнением su, в соответствии с тем, что я прочитал, su создает новую оболочку, которая немедленно возвращается, но мне нужно давать команды в оболочке su, как я могу это сделать?
Ответы
Ответ 1
Хорошо, если вы используете телефон, вы можете запускать команды с помощью команды "su -c".
Вот пример команды cat в файле build.prop, чтобы получить информацию о продуктах телефона.
adb shell "su -c 'cat/system/build.prop | grep" product "'"
Это вызывает разрешение root и запускает команду внутри ''
Обратите внимание на 5 концевых котировок, требующих закрытия всех конечных котировок или вы получите сообщение об ошибке.
Для пояснения формат выглядит следующим образом.
adb shell "su -c" [ваша команда идет здесь] '"
Убедитесь, что вы вводите команду ТОЧНО, как обычно, при запуске в оболочке.
Попробуйте, надеюсь, это поможет.
Ответ 2
Команда su
ничего не выполняет, она просто повышает ваши привилегии.
Попробуйте adb shell su -c YOUR_COMMAND
.
Ответ 3
По умолчанию CM10 разрешает только root-доступ из приложений, а не ADB. Перейдите в Настройки → Параметры разработчика → Доступ к Root и измените параметр на "Приложения и ADB".