【问题标题】:android : unable to run shell script(.sh) from my applicationandroid:无法从我的应用程序运行 shell 脚本(.sh)
【发布时间】:2012-10-12 15:47:27
【问题描述】:

我无法从我的应用程序运行 shell 脚本。只有“ls -l”和 echo 命令响应。rest 似乎没有做任何事情。甚至“touch”命令都不起作用。我尝试使用 touch 在 sdcard 中创建文件我的脚本中的命令..只有 echo 命令有效。我的 shell 脚本也在 sdcard 中

【问题讨论】:

  • 您收到什么错误消息?您的设备上可能根本没有触摸可执行文件。 Android 有一组非常有限的二进制文件...通过列出 /system/bin 来检查你有哪些
  • 提供更多信息。你是如何发送命令的?亚行?您是在 Windows、Mac 还是 Linux 上进行开发?

标签: android bash shell


【解决方案1】:

使用 noexec 安装 sdcard。您必须将脚本复制到应用的本地数据驱动器才能执行。

您应该能够通过登录手机(adb shell 或其他)并输入mount 来查看所有文件系统的挂载权限

【讨论】:

  • 我正在使用 Eclipse indigo 在 Ubuntu 上构建。我成功地使 apk 运行我的脚本。它在脚本中运行 echo 命令,但没有其他命令。我能够使用终端运行“触摸”从 sdcard 成功执行了我的 .sh 但无法执行应用程序调用的相同 .sh。我仍然不确定ADB的事情(我是android的新手)。adb是一个单独的shell,就像sh一样,被应用程序用来运行命令???我是否必须修改我的脚本才能启用它??
  • 好的,您没有执行驻留在 sdcard 中的 shell 脚本。您只是在运行写入 sdcard 的 shell 命令。要写入 SD 卡,您需要清单中的 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />。我不确定这是否是阻止你的原因。你可以发布logcat吗?了解 abd here
  • Ancantus..我会试试的。谢谢。我现在没有 ligcat。它是我的团队的一个查询。将从他们那里获取并发布 :)
【解决方案2】:

"cd" 等其余命令在 Android 中不起作用,因为它会遇到很多权限问题。

因此,最好的解决方案是触发您的应用已经可以使用的 “脚本管理器”“终端模拟器” 应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    相关资源
    最近更新 更多