【问题标题】:Getting IO Exception while using Runtime.getRuntime().exec()使用 Runtime.getRuntime().exec() 时出现 IO 异常
【发布时间】:2012-09-08 22:06:47
【问题描述】:

我想在 android 中使用命令行工具来使用 ffmpeg 库。但是我在尝试时遇到了 IO 异常,我已将 ffmpeg.exe 存储在 /files 文件夹中。这是代码:

public class MainActivity extends Activity {

    Process p;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Process p = Runtime.getRuntime().exec("/data/data/com.example.ffmpegnew/files/ffmpeg",null, new File("/data/data/com.example.ffmpegnew/files"));

        }
        catch(Exception e)
        {
            System.out.println("exception"+e);
        }

    }

}

这是错误:

09-16 16:24:38.751: I/System.out(2209): exceptionjava.io.IOException: Error running exec(). Commands: [/data/data/com.example.ffmpegnew] Working Directory: /data/data Environment: null

请告诉我是什么问题。提前谢谢。

【问题讨论】:

    标签: android command-line ffmpeg


    【解决方案1】:

    我不认为.exe 文件在 linux 上运行,更不用说可能是 x86 编译的二进制可执行文件。

    此外,即使您获得了 arm 编译的 ffmpeg,您也必须通过 chmod 使其可执行

    【讨论】:

    • 你能给我一些例子吗?先生
    • 从未在 ffmpeg 上工作过,但我认为您正在尝试在 Android 上运行 Windows 程序。这是不可能的
    • 就像我说的,Windows 可执行文件不能在 Android 上运行。 Android 需要在 Linux 上运行的可执行文件。而且大多数手机都运行在 Arm 芯片组上,因此您需要为 arm 交叉编译可执行文件
    • 你能告诉我怎么做吗先生
    • stackoverflow 上有太多与此相关的问题的帖子。搜索它们。这是one
    猜你喜欢
    • 2018-02-12
    • 2011-01-09
    • 2015-08-28
    • 1970-01-01
    • 2011-06-12
    • 2015-12-09
    • 1970-01-01
    • 2012-06-21
    相关资源
    最近更新 更多