Android平台下ndk编译应用程序

本文介绍如何在Android项目中设置JNI目录并配置NDK编译环境,包括创建必要的Android.mk和Application.mk文件,以及如何通过make.sh脚本进行编译。

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

新建jni目录 , 设置好android  ndk编译环境


将源码文件放在当前目录下  以main.cpp文件为例


jni目录下的结构如下:


Android.mk内容如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_SRC_FILES := main.cpp
LOCAL_MODULE := test

LOCAL_C_INCLUDES := /media/diska-4/workspace/FaceRecongnition/install/dlib-18.14/include \
   /media/diska-4/workspace/FaceRecongnition/install/opencv-2.4.13/include

LOCAL_CFLAGS += -std=c++11 -O3

LOCAL_LDFLAGS += -L/media/diska-4/workspace/FaceRecongnition/install/opencv-2.4.13/lib \
-L/media/diska-4/workspace/FaceRecongnition/install/dlib-18.14/lib

#LOCAL_SHARED_LIBRARIES += libopencv_core libopencv_imgproc libopencv_highgui libopencv_objdetect libdlib
LOCAL_LDLIBS += -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_ml -lopencv_info -lopencv_photo \
-lopencv_imgproc -lopencv_highgui -lopencv_objdetect -ldlib
   
include $(BUILD_EXECUTABLE)


Application.mk内容如下:

APP_STL:=gnustl_static  ##ok
#APP_STL:=stlport_static ##not work!
#APP_STL:=system  ##not work!
#APP_STL:=c++_static  ##ok
#APP_STL:=c++_shared  ##ok
#APP_STL:=gnustl_shared ##ok
APP_CPPFLAGS:=-frtti -fexceptions
APP_ABI:=armeabi-v7a
APP_PLATFORM:=android-21
APP_BUILD_SCRIPT:=Android.mk


make.sh内容如下:

ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk


完成上面步骤后直接在当前目录下运行make.sh

./make.sh

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值