NDK编译 c++生成Android动态.so库

安装 NDK

我们使用的是r14b版本(可下载适合自己版本并安装)

配置环境变量

右击 计算机 --属性,点击高级系统设置,点击环境变量
如图将你安装之后的文件夹的路径添加到Path下点击确定即可

A550CC2AE0336B1829AC5AEF9B2ED50A.png
验证NDK是否安装成功

打开cmd输入ndk-build回车
如下图则安装成功。


2D75425D-BA0A-4E70-859E-BB825B59CDB4.png

制作NDK执行脚本

Application.mk

APP_PLATFORM := android-19
APP_OPTIM := release
APP_CFLAGS += -Wall
APP_STL := gnustl_static
APP_ABI := armeabi armeabi-v7a x86 arm64-v8a

APP_CPPFLAGS := -frtti -std=c++14 -fsigned-char
APP_LDFLAGS := -latomic

Android.mk

VIGAME_MK_PATH := $(call my-dir)/../../vigame-mk
DEPS_LIB_PATH := $(call my-dir)/../../../../../deps
LOCAL_MODULE := vigame

LOCAL_MODULE_FILENAME := libvigame

LOCAL_CPPFLAGS += -frtti -fexceptions -std=c++14
LOCAL_LDFLAGS += -Wl,--gc-sections
#include $(BUILD_SHARED_LIBRARY)// 生成so
#生成可执行
LOCAL_CFLAGS += -pie -fPIE
LOCAL_LDFLAGS += -pie -fPIE
include $(BUILD_EXECUTABLE)
$(call import-add-path,$(VIGAME_MK_PATH))
$(call import-add-path,$(DEPS_LIB_PATH))
$(call import-module,loader)
$(call import-module,core)
$(call import-module,pay)
$(call import-module,ad2)
$(call import-module,social)
$(call import-module,share)
$(call import-module,tj)
$(call import-module,track)
$(call import-module,push)

Android.mk 文件教程
Application.mk文件教程

生成.so

cd 到jni目录下执行

ndk-build -j8 #8线程执行

你可能感兴趣的:(NDK编译 c++生成Android动态.so库)