编译Android VNC Server
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
總結
以上是生活随笔為你收集整理的编译Android VNC Server的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: pc端vnc连接android 端
 - 下一篇: Android VNC Server