2011-11-12 63 views
0

手動Android設備上運行的shell腳本,我們可以運行:利用亞行

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

但由於我們正在進入蘇殼,這是行不通的。

你能提出一個解決方案嗎?

+0

它在什麼意義上「不起作用」? –

+1

該命令在adb shell中結束,並且在此之後不執行命令。當你調用蘇 我有代碼會作出「蘇」運行亞行外殼 則不是下命令 –

回答

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

這是因爲你可以通過預先他們就行了設置一個作業環境變量,而不是出口這個,出口這種形式。

+1

[1]殺害蘇-c「 CHMOD 66 ... 設備不再被認可!墜毀仍... –