2013-12-24 2 views
2

Я пытаюсь запустить настройки привязки Android из оболочки adb. Основная цель этого - включить режим USB-модема, запустив сценарий оболочки. Я использую следующий набор команд на моем Ubuntu Terminal (12.04):Не удается запустить команды adb в сценарии bash

adb shell 
am start -n com.android.settings/.TetherSettings 
sleep 7 
input tap 162 159 
input tap 385 607 

Этот метод отлично работает, когда команды выполняются один за другим, но я не в состоянии запускать их как обычный скрипт , Пожалуйста помоги! Вот полный скрипт:

#!/bin/sh 
adb shell 
am start -n com.android.settings/.TetherSettings 
sleep 7 
input tap 162 159 
input tap 385 607 

Я думаю, он не может найти путь к ADB в моей системе. Я попытался заменить первую строку на фактический путь к инструменту adb в каталоге SDK. Это тоже не сработало. Любая работа для этого? (. Извините, если вопрос кажется глупым, я действительно новым для Баш сценариев!)

EDIT: Обновленный сценарий: -

#!/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 
" 
+0

Попробуйте заменить '#!/Bin/sh' на' #!/Usr/bin/env bash'. –

+0

Поместите pwd как первую строку. Если вы не находитесь в том же каталоге, что и adb, убедитесь, что вы cd в правильный каталог – KDEx

+0

Спасибо Стивену, но проблема все еще там. Как было предложено KDEx, в моем скрипте я включил команду cd. Но все же, выход говорит: «adb not found» –

ответ

0

Спасибо всем! Я, наконец, решил проблему. Вот обновленный сценарий:

#!/bin/sh 
cd /home/evinish/Documents/Android/adt-bundle-linux-x86_64-20130219/sdk/platform-tools 
./adb devices 
./adb shell " 
am start -n com.android.settings/.TetherSettings 
sleep 15 
input tap 162 159 
input tap 385 607 
" 
sleep 10 

Единственная проблема отсутствовала. ./ "до adb.

8

adb shell открывает оболочку на вашем Android устройстве. Последующие команды вводятся в контексте этой оболочки. Добавить цитаты вокруг удаленных команд:

adb shell " 
am start -n com.android.settings/.TetherSettings 
sleep 7 
input tap 162 159 
input tap 385 607 
" 
+0

Я не понимаю, почему, поскольку я уже предоставил полный путь к adb. См. Раздел EDIT. –

+0

Вам не хватает ведущей '. /' Команды ADB. Если adb не находится на вашем пути, вы должны запустить его из каталога установки. Или 'cd/home/evinish/Documents/Android/adt-bundle-linux-x86_64-20130219/sdk/platform-tools && ./adb shell' или'/home/evinish/Documents/Android/adt-bundle-linux- x86_64-20130219/sdk/platform-tools/adb shell'. –

Смежные вопросы