java.io.ioexception error=2,没有这样的文件或目录

5lhxktic  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(284)

我刚接触android,正在尝试运行一个名为“helloworld”的模糊程序,这个程序是我在rust上编写的,并将结果输出到ui中。这是应该这样做的代码

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import java.io.File
import java.io.IOException
import java.util.concurrent.TimeUnit

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val buttonRun = findViewById<Button>(R.id.Run)
        val output = findViewById<TextView>(R.id.output)

        buttonRun.setOnClickListener {
            //val someText = "Hello World!"
            val rust = File ("home/querens/Documents/Android/TESTapp/app/src/main/rust")
            val rustResult = "./HelloWorld".runCommand(rust)
            output.text = rustResult
        }
    }
}

fun String.runCommand(workingDir: File): String? {
    try {
        val parts = this.split("\\s".toRegex())
        val proc = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            ProcessBuilder(*parts.toTypedArray())
                    .directory(workingDir)
                    .redirectOutput(ProcessBuilder.Redirect.PIPE)
                    .redirectError(ProcessBuilder.Redirect.PIPE)
                    .start()
        } else TODO("VERSION.SDK_INT < O")

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            proc.waitFor(60, TimeUnit.MINUTES)
        }
        return proc.inputStream.bufferedReader().readText()
    } catch(e: IOException) {
        e.printStackTrace()
        return null
    }
}

我没有得到其他错误,所以我假设代码可能是好的,但我不是100%肯定。唯一的错误就是这个。我读过很多关于这个错误的帖子,但是到目前为止我还没有实现任何解决方案。
java.io.ioexception:无法运行程序“../helloworld”(在目录“home/querens/documents/android/testapp/app/src/main/rust”中):error=2,没有这样的文件或目录

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题