日常開發技巧:在遠端機器上直接使用adb
阿新 • • 發佈:2018-12-18
背景
嵌入式開發中,開發工作是在遠端伺服器上進行的。當需要adb推送一個檔案到開發板時,則需要重新在本地機器中找到該檔案,再執行命令。這樣的操作比較麻煩。
下面介紹我的解決方式。
sshfs掛載
首先,我是通過sshfs將遠端機器,掛載到了本地。並且在掛載時,挑選了同一目錄。即,將遠端機器的~/workspace掛載到了本地的~/workspace。這麼做的好處是,遠端的路徑,可以直接複製黏貼到本地使用。
配置免密碼登入。
在遠端機器上,配置好.ssh/config並使用ssh-copy-id設定免密碼登入。假設配置好的本地機器別名,叫ZQB。則此時可在遠端機器上,可直接ssh ZQB登入回本地機器。
編寫包裝指令碼
既然已經通過sshfs將遠端機器掛載到本地,且目錄一致,則指令碼很簡單,ssh回到本地機器,並切換到同一目錄,再執行命令即可。
檔案 ~/.remote_zqb.sh
zqb()
{
ssh ZQB "cd $(pwd) && [email protected]"
}
alias adb="zqb adb"
alias fastboot="zqb fastboot"
並在~/.bashrc中引入它。即在~/.bashrc中新增一行
. ~/.remote_zqb.sh
最後重新source,使其生效
source ~/.bashrc
此時輸入type zqb,可看到該函式。輸入type adb可看到adb已經被alias成了”zqb adb“
現在就可以在遠端機器上,直接使用adb命令了。非常便捷。
其他
有了這個思路之後,除了adb,還有其他命令,也可以進行對應包裝,看個人需要了。
如果未事先用ssh掛載到同一目錄,則可對應自己平時的使用習慣,修改指令碼。如先使用scp先拷貝檔案,再ssh執行命令,原理是一樣的。目的就是,自動化平時手工操作中的重複操作,簡化使用。