【发布时间】:2011-06-28 21:20:14
【问题描述】:
我正在尝试从 eclipse 在一个根深蒂固的 acer iconia 选项卡上运行一个应用程序,没什么特别的,只是一个简单的 helloworld 应用程序,我得到了这个输出:
[2011-06-28 21:45:12 - HelloAndroid] Android Launch!
[2011-06-28 21:45:12 - HelloAndroid] adb is running normally.
[2011-06-28 21:45:12 - HelloAndroid] Performing com.androidbook.hello.HelloActivity activity launch
[2011-06-28 21:45:12 - HelloAndroid] Automatic Target Mode: using device '37c618743c06297'
[2011-06-28 21:45:12 - HelloAndroid] Uploading HelloAndroid.apk onto device '37c618743c06297'
[2011-06-28 21:45:12 - HelloAndroid] Installing HelloAndroid.apk...
[2011-06-28 21:45:12 - HelloAndroid] Success!
[2011-06-28 21:45:12 - HelloAndroid] Starting activity com.androidbook.hello.HelloActivity on device 37c618743c06297
[2011-06-28 21:45:12 - HelloAndroid] ActivityManager: /sbin/sh: am: not found
我还尝试运行“adb shell”,它会在设备上正确打开一个根终端,然后我尝试运行 am 命令,我得到了同样的错误,即“/sbin/sh: am: not found”。但是,该命令正确位于/system/bin,并且/system/bin在路径中
/ # echo $PATH
/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
有谁知道可能出了什么问题?
【问题讨论】:
-
尝试符号链接 /system/bin/sh 到 /sbin/sh
-
这样真的安全吗? /sbin 已经有一个 sh。此外,我之前尝试过将内容符号链接到 sbin 并受到“只读文件系统”错误的欢迎。
-
因此,如果 am 在 /system/bin 中,请尝试运行 /system/bin/am。不要符号链接 sh,因为 sh 不是问题。
-
@dtmilano,在设备的本地终端上,该命令可以像 am 一样简单地运行。但是,如果我在同一个终端中运行 /sbin/sh,并从该 shell 中尝试运行 am,即使使用完整路径,我也会收到错误消息。我不知道它是否相关,但 /sbin/sh 实际上是 /sbin/busybox 的符号链接。