如何将环境变量添加到androidRuntime.getRuntime().exc命令中



运行androidRuntime.getRuntime().exec方法时出现问题。

我有一个本地二进制文件要在android上运行,我用java方法Runtime.getRuntime().exec启动它。但是运行这个本机二进制文件需要添加一个环境变量。所以我执行这个命令:

envSetCmd = {"sh", "-c", "export LD_LIBRARY_PATH="+excBinFilepath+":$LD_LIBRARY_PATH"}.

当我使用以下命令检查环境变量时,它不起作用:sh-cecho $LD_LIBRARY_PATH

我认为原因是当我设置环境变量时,我启动了一个shell,当我用命令"echo"检查它时,另一个shell启动了。所以环境变量在shell中不起作用,我检查了一下

我认为有两种方法可以解决这个问题。一种是在一个shell中运行两个命令。所以我尝试使用命令:

{"sh", "-c", "export LD_LIBRARY_PATH="+excBinFilepath+":$LD_LIBRARY_PATH", "-c", "echo $LD_LIBRARY_PATH"}.

不幸的是,这是非法的。另一个是我将环境变量添加到android用户启动文件中。我试着回显$PATH,我看到/system/bin/和其他路径是在android启动时加载的。

所以我认为一定有一个像linux中的~/.bashrc一样的文件可以设置用户的环境。

有人能给我一些关于我上面列出的方法的线索吗?顺便说一句,我不应该拔掉电话!

尝试使用env:执行任何需要执行的操作

{"env", "LD_LIBRARY_PATH="+excBinFilepath, "yourCmd"}

相关内容

  • 没有找到相关文章

最新更新