Запуск сценария оболочки на устройстве Android с помощью ADB - PullRequest
0 голосов
/ 13 ноября 2011

Вручную мы можем запустить:

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 на компьютере, компилирующем программу.1006 *

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, это не работает.

Не могли бы вы предложить решение?

1 Ответ

6 голосов
/ 13 ноября 2011

Попробуйте это:

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 &'"

Это потому, что вы можете установить переменные среды для одного задания, просто добавив их встрока, а не экспортируйте это, экспортируйте эту форму.

...