所以我有一堆安卓设备,我在上面安装了APK,并向它发送配置文件,这在批处理脚本上工作得很好,但当我试图在Linux的shell上编写它时,一半的时间会断开连接,并显示没有设备。
while read ip1; do
echo $ip1
echo Entered: $ip1
adb </dev/null connect $ip1
adb devices
adb </dev/null root
adb </dev/null remount
adb </dev/null uninstall com.neldtv.mips
adb </dev/null uninstall com.gate.mips
adb </dev/null install MIPS_DS_Basic_GATE_V1.7.0.4.2.0.apk
echo Transfering settings file now!
adb </dev/null push shared_data.xml /data/data/com.gate.mips/shared_prefs/shared_data.xml
adb </dev/null shell su -c "chmod 777 -R /data/data/com.gate.mips/shared_prefs"
adb </dev/null shell setprop persist.sys.timezone "America/New_York"
adb </dev/null push build.prop /system/build.prop
adb </dev/null shell su -c "chmod 644 /system/build.prop"
adb </dev/null disconnect $ip1
done <input.txt我不得不将Linux的stdin重定向到dev/null,这样我的循环就不会在一次迭代后结束。我不确定这是否与它有关,但无论出于什么原因,当它到达adb root行后,它会断开与设备的连接,并显示"waiting for device“,因此当我按Ctrl-C组合键并运行'adb devices‘时,它显示没有连接的设备。在命令前面添加/删除-s $ip1也不起任何作用。设备在连接后立即断开连接,所以我不确定是什么原因造成的。有没有人有什么想法?
发布于 2020-06-25 23:30:08
我找到问题了。由于某些原因,当我使用adb时,如果只是用apt get安装它,它会这样做,但下载平台工具压缩包并将其放入与我的脚本相同的文件夹中,然后运行./adb,而不是只运行adb,就解决了这个问题。
https://stackoverflow.com/questions/62575290
复制相似问题