日常开发技巧:在远程机器上直接使用adb
背景
嵌入式开发中,开发工作是在远程服务器上进行的。当需要adb推送一个文件到开发板时,则需要重新在本地机器中找到该文件,再执行命令。这样的操作比较麻烦。
下面介绍我的解决方式。
sshfs挂载
首先,我是通过sshfs将远程机器,挂载到了本地。并且在挂载时,挑选了同一目录。即,将远程机器的/workspace挂载到了本地的/workspace。这么做的好处是,远程的路径,可以直接复制黏贴到本地使用。
配置免密码登录
在远程机器上,配置好.ssh/config并使用ssh-copy-id设置免密码登录。假设配置好的本地机器别名,叫ZQB。则此时可在远程机器上,可直接ssh ZQB登录回本地机器。
编写包装脚本
既然已经通过sshfs将远程机器挂载到本地,且目录一致,则脚本很简单,ssh回到本地机器,并切换到同一目录,再执行命令即可。
文件 ~/.remote_zqb.sh
zqb()
{
ssh ZQB "cd $(pwd) && $@"
}
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执行命令,原理是一样的。目的就是,自动化平时手工操作中的重复操作,简化使用。
日常开发技巧:在远程机器上直接使用adb的更多相关文章
- visualvm 监控 远程 机器上的 Java 程序
JDK里面本身就带了很多的监控工具,如JConsole等. 我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程 ...
- 转:visualvm监控远程机器上的Java程序
转自:http://hanwangkun.iteye.com/blog/1195526 JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款 ...
- jenkins中通过Publish Over SSH将项目部署到远程机器上
Publish Over SSH插件使用在使用Publish Over SSH之前,需要制作SSH私钥.机器间做免密登录配置.假设机器A,ip为192.168.AA.AAA,机器B: 192.168. ...
- 日常开发技巧:x11-forward,使用远程机器的gui程序
背景 日常用过ssh登录服务器进行工作,尽管大部分时间,都只需要终端操作,编辑源码也是vim就够用了. 但有时候,还是需要使用gui程序的,比如打开一份pdf,word,ppt,excel等. 碰到这 ...
- Jenkins 通过ssh 拷贝文件到远程机器上。
想实现的目的是: 在构建之前,从jenkins master上拷贝脚本到需要运行的机器上(linux ssh). 本来是通过publish over ssh 的transfer set可以直接设置,但 ...
- 日常开发技巧:使用notify-send发送通知
背景 在终端执行一些需要较长时间的命令时,会切换到别的界面.但为了知道是否执行完成,需要时不时地切换过去看一眼.很麻烦. 解决方式 为了减少这种麻烦,可以使用notify-send,发送桌面通知.no ...
- ansible获取远程机器上的ip地址
问题: 想要使用ansible-playbook脚本创建一个以远程机器的IP命名的目录 错误的代码:# vim test.yml --- - hosts: all remote_user: root ...
- 用SSH登录远程的机器,在远程机器上执行本地机器上的脚本
假设本地的机器IP为10.245.111.90,我们想要在10.245.111.93上执行一个保存在10.245.111.90上的脚本. 经过测试通过的命令如下: ssh root@10.245.11 ...
- [OS] 如何在远程机器上用ctrl+alt+del键修改登录用户的密码
远程登录某台机器,想修改当前登录用户的密码,系统提示按Ctrl+Alt+Del,在出现的界面里修改密码 但我一按这三个键,是在我本地客户机生效,而不是在远程服务器. 答案 : 向远程桌面发送Ctrl+ ...
随机推荐
- linux svn apache
借助apache运行的svn服务器 一:安装Apache HTTP Server 1.安装Apache HTTP Server yum install httpd httpd-devel -y 2.修 ...
- 【.Net】Visual Studio的调试技巧
这是我写的关于VS2010和.Net4发布的博客系列的第26篇. 今天的博文包含了一些有用的能用于VS的调试技巧. 我的朋友Scott Cate(他写了很多很好的关于VS使用技巧和窍门的博客)最近向我 ...
- 【poj2104】K-th Number 主席树
题目描述 You are working for Macrohard company in data structures department. After failing your previou ...
- 基于jquery的移动端JS无缝切换
Html: <div id="slide-box-1"> <ul> <li> <a href="javascript:void( ...
- FTP-成型版本
1. 旧知识回顾-反射 hasattr(object, name) 说明:判断对象object是否包含名为name的属性(方法) 测试代码如下: class tt(object): def __ini ...
- CentOS yum安装软件包
yum(Yellowdog Update Modifie)命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定 ...
- BZOJ3196 & 洛谷3380:二逼平衡树——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=3196 https://www.luogu.org/problemnew/show/P3380 (题 ...
- iOS图片上传后被旋转的问题
最近用PHP做了一个图片合成程序,前端是通过HTML的file input选取自定图片,POST到php后台调整尺寸后与事先准备好的背景图进行合成. 通过测试发现,上传后的自定图片有的被旋转了,有的是 ...
- android内核源码下载和编译
1.下载编译 新建kernel目录 ~/srcAndroid/src4.4.4_r1/kernel目录下,输入命令: seven@ThinkPad:~/srcAndroid/src4.4.4_r1/k ...
- Install JDK In Ubuntu
安装Linux软件包管理器rpm apt install rpm 查看已安装的软件,如JDK rpm -qa|grep jdk #查询所有 找jdk 卸载已安装的软件 rpm -e nodeps 包名 ...