如何从Android应用程序执行程序?

时间:2019-01-30 15:38:30

标签: android

我有一个用C编写的可执行文件,经过编译可以在手机上使用,并且我想从我的Android应用程序启动它。

我已经使用ADB命令将其推送到/ data / local / tmp(这似乎是我们可执行可执行文件的文件夹)中,并使用chmod命令在其上设置可执行文件。当我手动启动它时,它工作正常,但是当我尝试从我的android应用程序运行它时,出现错误: 无法运行程序“ / data / local / tmp / myexec”(在目录“ / data / local / tmp”中):错误= 13,权限被拒绝。

我认为可能与文件夹有关,所以我在“ / sdcard”文件夹中尝试了相同的过程(清单文件中具有良好的android权限),但结果相同。

我也试图从script.sh启动它。错误13不再出现,但我的可执行文件似乎也没有启动。

这是我的代码:

private void launchExec() {

    Runnable r = new Runnable() {
        @Override
        public void run() {

            runtime = Runtime.getRuntime();
            Process mlauchExecProcess = null;

            try {
                String[] cmdline = { "/data/local/tmp/myExec"};
                String[] cmdarg = { "arg1", "agr2", "agr3" };
                File dir = new File("/data/local/tmp/");
                mlauchExecProcess = runtime.exec(cmdline,cmdarg,dir);

            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    };

    t = new Thread(r);
    t.start();
}

有什么想法吗?

0 个答案:

没有答案