近来发现的Android上的原生VNC Server,就是说只要手机上安装并运行这个软件,即可实现电脑上查看并控制手机了。
首先是手机端。
1)下载androidvncserver:
http://code.google.com/p/android-vnc-server/downloads/list
有兴趣的可以下载源码自己重新编译,源码地址:
http://code.google.com/p/android-vnc-server/source/checkout
2)把androidvncserver复制到手机上,我是复制到/data/local/文件夹下。复制的方法很多:
可以用adb push进去,即:

  1. adb push 路径/androidvncserver /data/local/

复制代码

也可以复制到SD卡,再用Root Explorer复制到/data/local/文件夹下。
3)在手机的“终端”更改androidvncserver的权限,如下:

  1. # chmod 555 androidvncserver

复制代码

把权限改为只读和可执行。此步骤可以用Root Explorer直接操作。
4)运行androidvncserver,在手机的“终端”执行以下代码:

  1. # /data/local/androidvncserver &

复制代码

这样androidvncserver就启动服务了。
然后是电脑端的设置。
1)电脑安装VNC Client。装个免费的Real VNC Viewer即可。软件地址:http://www.realvnc.com/products/free/4.1/index.html
2)如果手机连上WiFi,并与电脑处于同一个局域网内,或者手机通过无线网卡恭喜网络给电脑。
在手机的“终端”运行

  1. # busybox ifconfig -a

复制代码

看到twifi0的IP地址是多少,例如:192.168.1.100。
在电脑上运行VNC Viewer,地址填写192.168.100 5901,点“确定”即可看到手机画面了。
3)如果手机于电脑是通过USB Tethering连接,即手机通过USB共享网络给电脑,或者电脑通过USB共享网络给手机。
在手机的“终端”运行

  1. # busybox ifconfig -a

复制代码

看到usb0的IP地址是多少,例如:192.168.77.254。
在电脑上运行VNC Viewer,地址填写192.168.77.254 5901,点“确定”即可看到手机画面了。
4)如果2、3的情况都不是,可以通过以下方式连接。
在电脑上执行以下命令:

  1. adb forward tcp:5901 tcp:5901

复制代码

然后打开VNC Viewer,地址填写127.0.0.1 5901,点“确定”即可看到手机画面了。
关闭手机上的androidvncserver服务
1)在手机的“终端”运行

  1. # ps | grep /data/local/androidvncserver

复制代码

显示的结果那一行中,root后面的数字就是进程号(pid),例如是8233。
2)执行

  1. # kill 8233

复制代码

即可结束androidvncserver。
总结
androidvncserver是我看过显示效果最好的,而且比其它的流畅一点。但是作者说支持鼠标点击操作,而我的却用不了。有兴趣有基础的机油,建议试下。
PS. 感谢androidvncserver作者的辛勤劳动和奉献!

电脑控制手机的另一选择——android vnc server的更多相关文章

  1. 编译Android VNC Server

    1,在如下地址checkout源代码,我checkout的版本为0.9.7http://code.google.com/p/android-vnc-server/source/checkout 2,在 ...

  2. 编译Android VNC Server【转】

    本文转载自:http://www.cnblogs.com/fengfeng/p/3289292.html 1,在如下地址checkout源代码,我checkout的版本为0.9.7http://cod ...

  3. ANDROID 开机启动VNC SERVER

    ANDROID 开机启动VNC SERVER 背景信息: 最近在做一个项目,在项目需求中有这么一项“要把VNC SERVER 添加到android里并让其开机自启动”.其实做这个项目也挺缚手缚脚的,因 ...

  4. 使用Scrcpy实现电脑控制安卓手机

    很多时候我们想要在电脑上使用一些手机软件,使用模拟器当然是一种选择,但是这些模拟器要不然不免费,要不然广告多不放心.Scrcpy是一个开源免费的软件,通过abd命令实现了安卓手机投屏和控制功能,并且支 ...

  5. Android开发之控制手机音频

    本实例通过MediaPlayer播放一首音乐并通过AudioManager控制手机音频.关于AudioManager的具体解释可參照:Android开发之AudioManager(音频管理器)具体解释 ...

  6. 选择Android还是IOS开发?

    选择Android还是IOS? 随着移动互联网的如日中天,涌现了越来越多的开发者.IOS优秀的用户体验,Android极高的用户群,这对于开发者来说陷入了选择困难的境地,尤其是新入门的开发者,精力有限 ...

  7. 在Airtest中如何使用无线模式控制手机

    在使用Airtest超快速开发App爬虫文章的最后,我们留了一个尾巴:如何启动Airtest的无线模式,不用USB线就能控制手机? 本文将会讲到具体的做法.做法分为两种:第一种是在Airtest的ID ...

  8. WordPress主题设置插件,让你的站点有电脑、手机双主题

    我们建站的时候总是会优先考虑自适应的主题,但是与之对应,免费的自适应主题都调用国外公共资源,访问速度不太理想.加上wordpress未经优化之前,本身也没有极高的访问效率.所以大家可以下载这款“主题设 ...

  9. JS判断是否是微信页面,判断手机操作系统(ios或android)并跳转到不同下载页面

    JS判断客户端是否是iOS或者Android 参考:http://caibaojian.com/browser-ios-or-android.html function is_weixin() { v ...

随机推荐

  1. Graveyard LA3708

    白书第一章例题4 思维. 先固定一点不动,假设最后一共N个点,那么编号为0,1,...N-1, 0不动,原来的n个点分别占据i/n*N的位置(记为pos),移动到pos四舍五入的位置即可. 证明一:有 ...

  2. vue $parent 的上一级 有可能不是父组件,需要好几层$parent 如果这样 还不如用 this.$emit

    vue $parent 的上一级 有可能不是父组件,需要好几层$parent 如果这样 还不如用 this.$emit

  3. vue render {} 对象 说明文档

    Vue学习笔记进阶篇——Render函数 http://www.mamicode.com/info-detail-1906336.html 深入data object参数 有一件事要注意:正如在模板语 ...

  4. Spring自动注入的几种方式

    ---恢复内容开始---   @Service("accountEmailService")public class AccountEmailServiceImpl impleme ...

  5. Convert Sorted List to Balanced Binary Search Tree leetcode

    题目:将非递减有序的链表转化为平衡二叉查找树! 参考的博客:http://blog.csdn.net/worldwindjp/article/details/39722643 利用递归思想:首先找到链 ...

  6. sql is null

    select * from a or state is null)

  7. gcc编译问题

    gcc avl.o hash.o list.o rb.o example.o -o 123.exe 多个.o输出 exe -c和-o都是gcc编译器的可选参数.-c表示只编译(compile)源文件但 ...

  8. luogu P1618 三连击(升级版)

    题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试求出所有满足条件的三个三位数,若无解,输出“No!!!”. //感谢黄小U饮品完善题意 输入输出格 ...

  9. C++之类成员的访问权限详解(一)

    概念解析 众所周知,面向对象编程语言的特征之一就是封装,不同编程语言对于封装提供的实现有所不同,但原理大体上是相同的.C++提供了三种不同程度的访问权限来实现,主要是通过public.private. ...

  10. STL源码分析-iterator(迭代器)

    1. GOF 迭代器设计模式 前面一篇文章有写到stl_list的实现,也实现了一下相应的iterator,但是后面觉得,实现具体容器之前有必要介绍一下iterator(迭代器) .那么迭代器是什么呢 ...