[英]Can't run adb commands in bash script
我正在尝试从 adb shell 启动 Android 网络共享设置。 这样做的主要目的是通过运行 shell 脚本来启用 USB 网络共享模式。 我在我的 Ubuntu 终端 (12.04) 上使用以下命令集:
adb shell
am start -n com.android.settings/.TetherSettings
sleep 7
input tap 162 159
input tap 385 607
当命令一个一个执行时,此方法工作正常,但我无法将它们作为正常的 shell 脚本运行。 请帮忙! 这是完整的脚本:
#!/bin/sh
adb shell
am start -n com.android.settings/.TetherSettings
sleep 7
input tap 162 159
input tap 385 607
我猜,它在我的系统中找不到 adb 的路径。 我尝试用 SDK 目录中 adb 工具的实际路径替换第一行。 那也没有用。 有什么解决办法吗? (对不起,如果这个问题看起来很愚蠢。我真的是 bash 脚本的新手!)
编辑:更新脚本:-
#!/bin/sh
cd /home/evinish/Documents/Android/adt-bundle-linux-x86_64-20130219/sdk/platform-tools
adb shell "
am start -n com.android.settings/.TetherSettings
sleep 7
input tap 162 159
input tap 385 607
"
adb shell
在您的 Android 设备上打开一个 shell。 后续命令在该 shell 的上下文中输入。 在远程命令周围添加引号:
adb shell "
am start -n com.android.settings/.TetherSettings
sleep 7
input tap 162 159
input tap 385 607
"
谢谢大家! 我终于解决了这个问题。 这是更新后的脚本:
#!/bin/sh
cd /home/evinish/Documents/Android/adt-bundle-linux-x86_64-20130219/sdk/platform-tools
./adb start-server
./adb devices
./adb shell "
am start -n com.android.settings/.TetherSettings
sleep 15
input tap 162 159
input tap 385 607
"
sleep 10
唯一的问题是在 adb 之前缺少“./”。
编辑:为什么不先检查服务器是否正在运行?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.