- Download android source from android.com
- from android source folder you downloaded (e.g. ~/mydroid), copy the folder jpeg and zlib (~/mydroid/external/jpeg and mydroid/external/zlib) to the directory ndk-source/apps/androidvncserver/project/jni/external.
Edit the file ndk-source/apps/androidvncserver/project/jni/Android.mk as:
#
# Build libjpeg.a
#
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
jpeg/jcapimin.c jpeg/jcapistd.c jpeg/jccoefct.c jpeg/jccolor.c jpeg/jcdctmgr.c jpeg/jchuff.c \
jpeg/jcinit.c jpeg/jcmainct.c jpeg/jcmarker.c jpeg/jcmaster.c jpeg/jcomapi.c jpeg/jcparam.c \
jpeg/jcphuff.c jpeg/jcprepct.c jpeg/jcsample.c jpeg/jctrans.c jpeg/jdapimin.c jpeg/jdapistd.c \
jpeg/jdatadst.c jpeg/jdatasrc.c jpeg/jdcoefct.c jpeg/jdcolor.c jpeg/jddctmgr.c jpeg/jdhuff.c \
jpeg/jdinput.c jpeg/jdmainct.c jpeg/jdmarker.c jpeg/jdmaster.c jpeg/jdmerge.c jpeg/jdphuff.c \
jpeg/jdpostct.c jpeg/jdsample.c jpeg/jdtrans.c jpeg/jerror.c jpeg/jfdctflt.c jpeg/jfdctfst.c \
jpeg/jfdctint.c jpeg/jidctflt.c jpeg/jidctred.c jpeg/jquant1.c \
jpeg/jquant2.c jpeg/jutils.c jpeg/jmemmgr.c \
jpeg/jmem-android.c
# the assembler is only for the ARM version, don't break the Linux sim
ifneq ($(TARGET_ARCH),arm)
ANDROID_JPEG_NO_ASSEMBLER := true
endif
# temp fix until we understand why this broke cnn.com
#ANDROID_JPEG_NO_ASSEMBLER := true
ifeq ($(strip $(ANDROID_JPEG_NO_ASSEMBLER)),true)
LOCAL_SRC_FILES += jpeg/jidctint.c jpeg/jidctfst.c
else
LOCAL_SRC_FILES += jpeg/jidctint.c jpeg/jidctfst.S
endif
LOCAL_CFLAGS += -DAVOID_TABLES
LOCAL_CFLAGS += -O3 -fstrict-aliasing -fprefetch-loop-arrays
#LOCAL_CFLAGS += -march=armv6j
LOCAL_MODULE:= libjpeg
include $(BUILD_STATIC_LIBRARY)
#
# Build libz.so
#
# measurements show that the ARM version of ZLib is about x1.17 faster
# than the thumb one...
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
zlib_files := \
zlib/adler32.c \
zlib/compress.c \
zlib/crc32.c \
zlib/gzio.c \
zlib/uncompr.c \
zlib/deflate.c \
zlib/trees.c \
zlib/zutil.c \
zlib/inflate.c \
zlib/infback.c \
zlib/inftrees.c \
zlib/inffast.c
LOCAL_MODULE := libz
LOCAL_CFLAGS += -O3 -DUSE_MMAP
LOCAL_SRC_FILES := $(zlib_files)
include $(BUILD_SHARED_LIBRARY)
#
# Below are original Android.mk file from androidvncserver,
# so you can build the entire executable androidvncserver at once
#
...
Now, last step is to run make APP=androidvncserver in your cygwin command window
0 意見:
張貼意見