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-2http://blog.csdn.net/gengshenghong/article/details/7016617http://bbs.gfan.com/android-116468-1-1.html

编译Android VNC Server的更多相关文章

  1. 编译Android VNC Server【转】

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

  2. 电脑控制手机的另一选择——android vnc server

    近来发现的Android上的原生VNC Server,就是说只要手机上安装并运行这个软件,即可实现电脑上查看并控制手机了. 首先是手机端. 1)下载androidvncserver: http://c ...

  3. ANDROID 开机启动VNC SERVER

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

  4. 在Mac mini上编译Android源码

    参考文章 1.Android 6.0 源代码编译实践 2.编译Android源码致命错误解决方案 实践过程 1.Mac下安装Ubuntu双系统 (1)Ubuntu版本:Ubuntu 15.10 注:实 ...

  5. 深入浅出 - Android系统移植与平台开发(五)- 编译Android源码(转)

    2.3编译Android源码 Android源码体积非常庞大,由Dalvik虚拟机.Linux内核.编译系统.框架代码.Android定制C库.测试套件.系统应用程序等部分组成,在编译Android源 ...

  6. Droid VNC Server

    这个app可以在Android开启VNC Server,让其他的VNC Client远程连接手机,不过前提是要ROOT.哎,可惜了. 当然还有另一款替代品Total Control http://ww ...

  7. Android问题-DelphiXE8安装后编译Android提示SDK无法更新问题(XE10也可以解决)

    资料来原:http://www.chenruixuan.com/archives/479.html (DelphiXE8 更新SDK)http://www.dfwlt.com/forum.php?mo ...

  8. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

    昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...

  9. Ubentu编译Android源码(AOSP)

    前言: 一直想要编译一下Android 源码,之前去google 看,下载要下载repo. 当时很懵逼,repo 是个什么?(repo 是一个python 脚本,因为Android 源码git 仓库太 ...

随机推荐

  1. jenkins ansible

    ansible-playbook - hosts: test remote_user: root vars: warpath: "/root/.jenkins/workspace/172.1 ...

  2. linux 字体 设置 en_US.UTF-8

    设置:localectl    set-local    LANG=en_US.UTF-8 查看: localectl list-locales

  3. ethers.js-1

    https://docs.ethers.io/ethers.js/html/ What is ethers.js The ethers.js library aims to be a complete ...

  4. 多线程之Lock

    Java并发编程:Lock 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问.本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.l ...

  5. 关于lora标配SPDT大功率射频开关

    SPDT大功率的UltraCMOS ™DC - 3.0 GHz射频开关              PE4259的UltraCMOS ™射频开关被设计为覆盖广泛的,通过3000兆赫从近DC应用.这种反射 ...

  6. PAT乙级1032

    1032 挖掘机技术哪家强 (20 分)   为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过 ...

  7. querystring模块详解

    querystring模块用于处理query字符串,包含以下方法: parse.decode escape unescape encode.stringify parse.decode方法 parse ...

  8. C语言程序设计I—第三周教学

    由于本课程是从教学周的第二周开始上课,所以第二次授课是发生在第三周,为了让PTA.云班课和博客能统一,所以将教学周作为随笔的标题.本周由于处理外聘教师随意退课等事情,总结有些延后了. 第三周教学安排 ...

  9. HDU 2298(纯物理加解一元二次方程)

    Toxophily Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  10. .Net操作Excel公式实现

    //传入Excel公式,获取公式计算结果private string GetValue(string formula) { string result = ""; try { Ob ...