使用adb在Android设备上运行shell脚本

时间:2011-11-12 22:21:51

标签: android shell adb

手动,我们可以运行:

adb shell
su
chmod 666 /dev/graphics/fb0
export CLASSPATH=/data/local/device.jar
export LD_LIBRARY_PATH=/data/local
exec app_process /system/bin com.device.client.Main /data/local/device.conf &

但是,我们需要能够从编译程序的计算机上的bash脚本运行它。

我试过了:

adb shell "su
    && chmod 666 /dev/graphics/fb0
    && export CLASSPATH=/data/local/device.jar
    && export LD_LIBRARY_PATH=/data/local
    && exec app_process /system/bin com.device.client.Main /data/local/device.conf &"

但是因为我们正在进入su shell,所以这不起作用。

你能建议一个解决方案吗?

1 个答案:

答案 0 :(得分:6)

试试这个:

adb shell "su -c '
chmod 666 /dev/graphics/fb0
&& export CLASSPATH=/data/local/device.jar
&& export LD_LIBRARY_PATH=/data/local
&& exec app_process /system/bin com.device.client.Main
    /data/local/device.conf &'"

也可以简化它:

adb shell "su -c '
chmod 666 /dev/graphics/fb0 &&
CLASSPATH=/data/local/device.jar
LD_LIBRARY_PATH=/data/local
app_process /system/bin com.device.client.Main
    /data/local/device.conf &'"

这是因为您可以为一个作业设置环境变量,只需将它们添加到行上,而不是导出它,导出该表单。