Executar arquivo de script do shell No dispositivo incorporado Android usando a função Sistema no Android NDK

Todo

qui, eu quero executar o arquivo .sh via chamada do sistema no Android ND

Posso executarcp,rm comando via chamada do sistema. mas o comando sh não está funcionando via chamada do sistema.

I também instalei o busy-box no android. Estou usando o código abaixo. Defino todas as permissões emtest.sh.

Code:

#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);

}

Resultado

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

Aqui estou recebendo 0 emsystem("sh ./test.sh"); mas não iniciou otest.sh roteiro

pode obter saída"Hi" no console.

test.sh contém

#!/system/bin/
echo "Hi"

Se estou executando o comando direto no prompt do que está funcionando bem e com a saída fornecida"Hi" no console.

Por favor, ajude-me a resolver esse problem

Obrigad

questionAnswers(4)

yourAnswerToTheQuestion