我有一个交叉编译的可执行文件,可以在ARM上运行,其源文件是用C编写的,我想在android上运行。我正在为可执行文件传递一个文件路径作为参数。我试图从C打开文件,但它没有打开。这是代码:
Process process = new ProcessBuilder(executableFilePath,"/sdcard/Pictures/MyCameraApp"+"/param1.txt").start()
其中param1是我在设备上创建的文件。
和可执行文件的C源代码是:
#include <stdio.h>
int main (int argc, char** argv )
{
char* filename_image;
char* filename_output;
FILE *fp;
if(argc >= 2 )
{
filename_image = argv[1];
filename_output = argv[2];
printf("This is testing...\n");
fp = fopen(filename_output,"r");
if( fp == NULL )
{
printf("file cannot open...\n");
perror("Error while opening the file.\n");
return;
// exit(EXIT_FAILURE);
}
fprintf(fp, "This is testing...\n");
printf("testing done...\n");
fclose(fp);
return;
}
}
非常感谢任何帮助。