编译Android VNC Server

本文详细介绍了从源代码编译Android VNC Server的过程,包括checkout代码、配置JNI环境、解决编译错误、编译libjpeg库及最终的NDK编译步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

2,在源代码目录下,新建jni目录,将checkout的源代码都剪切至该目录

3,在jni目录,新建Application.mk文件,添加APP_ABI := aremabi armeabi-v7a,保存文件退出

4,修改LibVNCServer-0.9.7/libvncserver/main.c文件中的第245行,将sprintf(stderr,buf); 修改为sprintf(stderr,"%s",buf); 不然编译的时候会出错。

5,使用vi打开Android.mk,发现它需要使用第三方的库文件libz.so和libjpeg.a,libz.so在ndk中已经支持,我们需要先编译libjpeg,才能继续往下执行

6,去这里查看如何编译arm版的libjpeg(http://blog.csdn.net/gengshenghong/article/details/7016617

7,在jni目录项新建一个include文件夹,将libjpeg的头文件拷贝至该目录(jconfig.h, jerror.h, jmorecfg.h, jpeglib.h)

8,将编译的libjpeg.a静态库拷贝至jni目录

9,修改Android.mk文件的LOCAL_C_INCLUDE := $(LOCAL_PATH) $(LOCAL_PATH)/LibVNCServer-0.9.7/libvncserver $(LOCAL_PATH)/LibVNCServer-0.9.7 include 
注释掉 LOCAL_SHARED_LIBRARIES := libz 和 LOCAL_STATIC_LIBRARIES := libjpeg
添加LOCAL_LDLIBS := libjpeg.a -lz
保存修改。

10,使用vi打开include/jmorecfg.h文件,修改第263行代码,将其中的typedef enum { FALSE = 0, TRUE = 1 } boolean; 修改为:
typedef enum { false = 0, true = 1 } boolean; 不修改的话,会提示error: expected identifier before numeric constant错误。

11,至此,使用ndk-build就能编译androidvncserver了。

 

参考文章:http://xuxd32.blog.163.com/blog/static/48121933201172411850206/
http://stackoverflow.com/questions/15172387/error-while-installing-tiff-3-8-2
http://blog.csdn.net/gengshenghong/article/details/7016617
http://bbs.gfan.com/android-116468-1-1.html
 

http://www.cnblogs.com/fengfeng/p/3289292.html

首先是手机端。 (下面文件:androidvncserver和源码地址已经优化更改,省去必须用SVN获得源码) 1)下载androidvncserver: http://dl.dbank.com/c044xm5255 有兴趣的可以下载源码自己重新编译,源码地址: (源码需要在linux下mk) http://dl.dbank.com/c0xxpne414 2)把androidvncserver复制到手机上,我是复制到/data/local/文件夹下。复制的方法很多: 可以用adb push进去,即: 1.adb push ./androidvncserver /data/local/ 也可以复制到SD卡,再用Root Explorer复制到/data/local/文件夹下。 3)在手机的“终端”更改androidvncserver的权限,如下: 1.adb shell 2.#cd data/local/ 3.# chmod 777 androidvncserver 把权限改为只读和可执行。此步骤可以用Root Explorer直接操作。 4)运行androidvncserver,在手机的“终端”执行以下代码:   如下指定键盘和触摸屏设备,以免找不到kdb设备:   ./androidvncserver -k /dev/input/event0 -t /dev/input/event1   这样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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值