- 准备
-
Eclipse工作环境
-
NDK
[下载地址](http://www.androiddevtools.cn/) ,选择一个版本对应下载之后解压,注意路径不要有中文,请直接使用版本【android-ndk-r14b】,不要问为什么,都是泪; 然后再环境变量的path中添加路径;如图 [图片上传失败...(image-7641b5-1538123427053)]

接着cmd中输入ndk-build,如果跟我显示一样,就说明ndk环境可以使用了
[图片上传失败...(image-2b01fc-1538123427053)]

接着在eclipse中添加路径:
[图片上传失败...(image-1c879e-1538123427053)]

-
代码
我这里使用ndk自带的一个例子【hello.jni】,将项目导入到工作区间如图 [图片上传失败...(image-4c5dd5-1538123427052)]

会多一个jni的文件夹
-
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni //要生成的文件名字
LOCAL_SRC_FILES := hello-jni.c //需要编译的源文件 .c是C文件;.cpp是C++文件
include $(BUILD_SHARED_LIBRARY)
-
Application.mk
APP_ABI := all //指定生成的平台
-
hello.jni.c
C文件内容,就是一些调用的方法集合,生成so包之后,APP可以用来调用这些方法跟底层交互;
-
生成
cmd中,首先cd到当前项目的目录,然后ndk-build,然后就完成了
[图片上传失败...(image-96b81e-1538123427052)]

在项目中,会多了一个obj文件夹,生成的so就在里面:

网友评论