を使用して、特定の作業ディレクトリで実行可能ファイルを呼び出すことができるはずです。Runtime.exec(String command, String[] envp, File dir)
次のように:
Process process2=Runtime.getRuntime().exec("/data/data/my-package/files/myfile",
null, new File("/data/data/my-package/files"));
多分へのフルパスなしでmyfile
Process process2=Runtime.getRuntime().exec("myfile",
null, new File("/data/data/my-package/files"));
Context#getFilesDir()
パスをハードコーディングする代わりに、パスも機能するはずであり、パスを自分で指定するよりも安全でクリーンです。これ/data/data/..
は、すべてのデバイスで常に正しいパスであることが保証されていないためです。
Process process2=Runtime.getRuntime().exec("myfile",
null, getFilesDir()));
の問題cd somewhere
は、ディレクトリが別のプロセス用に変更されているためexec
、新しいプロセスでの2回目の呼び出しで変更が認識されないことです。