android - Android 上的工作目录 : null environment when running Process. Builder

标签 android android-4.4-kitkat su android-4.2-jelly-bean nexus-5

我正在使用两部手机,Galaxy Nexus(JellyBean) 和 Nexus 5(KitKat)。我正在尝试执行存在于

中的脚本

/data/folder/scripts/run.sh

我使用 Process.Builder 来构建命令。此命令是通过获取

Environment.getDataDirectory().toString() + "/folder/scripts/run.sh"

在 Galaxy Nexus 上运行它没有问题,但是当我在 Nexus 5 上运行它时,我在运行 process.start() 时捕获了一个异常。我得到的输出包含:

Error running exec(). Command: [/data/folder/scripts/run.sh, "param"]. Working directory: null Environment: [ADNROID_ROOT=/system ... ]

我的脚本的目录结构在两个文件上是相同的。

编辑:

所以我在加载应用程序后立即查看了 logcat,我想我已经查明了问题所在。

有一条错误提示未找到 list 文件。 警告:java.io.FileNotFoundException/data/folder/Manifest:打开 EACCESS 失败(权限被拒绝)。

这不适用于运行 JellyBean 的 Galaxy Nexus。 KitKat 是否存在一些安全问题?

最佳答案

问题是由于没有根访问权限。修复了 SuperSu 授予应用程序权限的问题。

关于android - Android 上的工作目录 : null environment when running Process. Builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22815363/

相关文章:

docker - IBM Container-su:无法创建子进程:资源暂时不可用

android - 当我在媒体播放器中单击 ListView 时,正在播放多首歌曲

java - Android PdfDocument 在保存到外部存储时损坏

android - Google 会推出 Android Kitkat 的安全更新吗?

linux - 如何配置 PAM 以允许任何用户将 'su' 发送到 user5?

linux - 以特定用户身份启动时出现 AWK 错误

Android 4.2.2 - adb 离线,即使在 SDK 升级后

java - 如何将解析的图像设置为背景而不是 src

android - 无法解析 android studion 1.0.1 中的方法 add(int , new tFragment()).commit()

android - 如何更改应用程序图标的背景颜色