Хотите запустить файл скрипта с помощью системного вызова в Android NDK

1

Я хочу запустить файл сценария в Android-оболочке с помощью программы Native C.

Я попытался использовать system функцию, но она не работает.

result = system("sh ./test.sh");

LOGD("result is %d", result);

системная команда возвращает 0, значит, ее незавершенный файл сценария успешно завершен.

test.sh содержит

echo "test...."

Приложение Android NDK не смогло распечатать test.... при test.... этого системного вызова.

Даже любой сценарий не может быть запущен с использованием системного вызова. Я проверил более 10 различных сценариев.

У test.sh есть 777 разрешений

Любая помощь будет оценена по достоинству.

  • 0
    это должен быть результат = system ("sh ./test.sh"); сказать точку перед черным слешем
  • 0
    @blackbelt эта команда работает напрямую, так почему она не работает в системном вызове
Показать ещё 1 комментарий
Теги:
android-ndk

2 ответа

0
Лучший ответ

Здесь я получил ответ на этот вопрос на другой пост.

Запустить файл сценария оболочки на встроенном устройстве Android с использованием системной функции в Android NDK

спасибо всем за помощь

2

где "sh"? и что твой ". текущий каталог при запуске приложения? пытаться:

result = system("/system/bin/sh/full/path/to/test.sh");

  • 0
    test.sh находится в моем текущем директории ... Я устал от команды выше, но это не работает
  • 0
    Согласно linux.die.net/man/3/system , если system () возвращает 0, то команда сработала, иначе это будет -1. Может быть, программа работает, но ее вывод по какой-то причине не отображается? Попробуйте с помощью сценария оболочки, который пишет в файл («echo test >> test1») и посмотрите, существует ли впоследствии test1 ...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню