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

Все

Здесь я хочу запустить .sh файл через системный вызов в Android NDK.

Я умею бегатьcp,rm Команда через системный вызов. но команда sh не работает через системный вызов.

Я также установил busy-box на Android. Я использую приведенный ниже код. Я установил все права наtest.sh.

Код:

#include <stdlib.h>
#include <stdio.h>
#include <android/log.h>
#include <jni.h>

#define LOG_TAG "Demo"

#define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)


void Java_com_ndkdemo_NDKdemoActivity_systemcall(JNIEnv * env, jobject obj) {

    int result;

    result = system("cp /mnt/sdcard/test /Download");

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

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

    LOGD("result of test.sh is %d", result);

}

Выход :

 result is cp 0.
 result of test.sh is 0.

Здесь я получаю 0 вsystem("sh ./test.sh"); но не завелtest.sh скрипт.

не могу получить вывод"Hi" на консоли.

test.sh содержит

#!/system/bin/
echo "Hi"

Если я выполняю прямую команду по приглашению, то она работает нормально и ее вывод"Hi" на консоли.

Пожалуйста, помогите мне разобраться в этом вопросе.

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос