Android Process Builder 突然说找不到文件
Android Process Builder suddenly says file not found
我使用进程构建器启动了一个 shell 脚本。这已经好几天了,但是今天,当我将我的文件上传到 bitbucket 并弄乱它们时,一切似乎又能正常工作了,除了 ProcessBuilder 找不到已经存在的文件:
val processBuilder = ProcessBuilder().command(
filesDir.absolutePath + File.separator + "start.sh").start()
start.sh 脚本已经在应用程序的文件目录中,但我收到:
java.io.IOException: Cannot run program "/data/user/0/com.example.project/files/start.sh": error=2, No such file or directory
我试过 运行 像这样:
val processBuilder = ProcessBuilder().command("start.sh", filesDir.absolutePath + File.separator).start()
然后我收到访问被拒绝的消息,尽管所有文件都有 chmod 777 并且这个文件甚至有 a+rx 标志。
好吧,这对任何人都没有帮助,但事情是这样的:
我尝试将我的代码放在 bitbucket 上,在此过程中,我设法删除了本地文件夹中的所有内容。幸运的是,我的代码仍在 Bitbucket 上,所以我只是下载了一个 tar 文件,然后从头开始 tar。在我的第二次尝试中,我设法正确地完成了所有事情,但我使用了从 Bitbucket 下载的源代码。一切都很好,除了显然,当我直接从 Bitbucket 导入项目时,synced/downloaded shell 脚本文件的 EOL 序列更改为 CRLF 而不是 LF...我用 LF 和后来问题解决了。
我使用进程构建器启动了一个 shell 脚本。这已经好几天了,但是今天,当我将我的文件上传到 bitbucket 并弄乱它们时,一切似乎又能正常工作了,除了 ProcessBuilder 找不到已经存在的文件:
val processBuilder = ProcessBuilder().command(
filesDir.absolutePath + File.separator + "start.sh").start()
start.sh 脚本已经在应用程序的文件目录中,但我收到:
java.io.IOException: Cannot run program "/data/user/0/com.example.project/files/start.sh": error=2, No such file or directory
我试过 运行 像这样:
val processBuilder = ProcessBuilder().command("start.sh", filesDir.absolutePath + File.separator).start()
然后我收到访问被拒绝的消息,尽管所有文件都有 chmod 777 并且这个文件甚至有 a+rx 标志。
好吧,这对任何人都没有帮助,但事情是这样的:
我尝试将我的代码放在 bitbucket 上,在此过程中,我设法删除了本地文件夹中的所有内容。幸运的是,我的代码仍在 Bitbucket 上,所以我只是下载了一个 tar 文件,然后从头开始 tar。在我的第二次尝试中,我设法正确地完成了所有事情,但我使用了从 Bitbucket 下载的源代码。一切都很好,除了显然,当我直接从 Bitbucket 导入项目时,synced/downloaded shell 脚本文件的 EOL 序列更改为 CRLF 而不是 LF...我用 LF 和后来问题解决了。