jpeg-turbo源码下载及使用NDK编译android库

1、源码下载

下载路径:https://github.com/libjpeg-turbo/libjpeg-turbo

2、NDK编译脚本

配置NDK环境变量

如何配置环境变量,这里不再赘述,有需要者可自行百度。

新建目录build.android

build.andorid目录中新建jni目录

这些目录是为了以后区分其他平台,如ios、win32等。

在jni目录中新增Android.mk、Application.mk文件

重点在就在这另个文件中,如下:

Android.mk

#
# JNI 
#
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE    := Jpeg-turbo

LOCAL_C_INCLUDES += ../../

LOCAL_SRC_ROOT = ../../

LOCAL_SRC_PATH := $(LOCAL_SRC_ROOT)
LOCAL_SRC_FILES := $(foreach dir, ${LOCAL_SRC_PATH}, $(wildcard $(dir)/*.c))


# LIB_SRC := ../../event.c \
#            ../../evthread.c \
# 		   ../../evthread_pthread.c \
#            ../../buffer.c \
#            ../../bufferevent.c \
#            ../../bufferevent_filter.c \
#            ../../bufferevent_pair.c \
#            ../../listener.c \
#            ../../bufferevent_ratelim.c \
#            ../../evmap.c \
#            ../../log.c \
#            ../../evutil.c \
# 		   ../../evutil_time.c \
#            ../../evutil_rand.c \
#            ../../select.c \
#            ../../poll.c \
#            ../../epoll.c \
#            ../../signal.c \
#            ../../event_tagging.c \
#            ../../http.c \
#            ../../evdns.c \
#            ../../evrpc.c \
#            ../../bufferevent_sock.c \
# 		   ../../strlcpy.c

# LOCAL_SRC_FILES  := $(LIB_SRC)

LOCAL_LDLIBS	:= -L$(SYSROOT)/usr/lib -llog -landroid 

LOCAL_CPPFLAGS         += -g -Wall
LOCAL_CFLAGS           += -g -Wall   

LOCAL_CFLAGS		   += -fstack-protector

#开启PIE(Position Independent Executables)
LOCAL_CFLAGS += -fpie -pie

include $(BUILD_STATIC_LIBRARY)

注释掉的部分为单独依赖各个源文件,本次采用遍历方式。

Application.mk

APP_STL   := gnustl_static
APP_OPTIM := release
APP_ABI := armeabi arm64-v8a
APP_PLATFORM := android-11
APP_CPPFLAGS := -frtti
APP_CPPFLAGS += -std=c++11
APP_CPPFLAGS += -fexceptions
APP_CPPFLAGS += -fpermissive

这里仅编译armeabi、arm64-v8a,如需其他架构,可以自行修改APP_ABI属性。

build.cmd

为了方便执行脚本,还可以创建build.cmd文件

rm -fr ../obj
@call ndk-build.cmd -B
@echo ***************************compile finish**********************************
pause

猜你喜欢

转载自blog.csdn.net/wquasdf/article/details/126284725