在很多的工程中安卓工程中,有许多底层代码都是用C/C++写的, 且很多会封装成库,因为C/C++的代码效率高,所以就有一个问题是如何生成安卓可调用的动态库即so文件, 下面一一到来
-
解压文件。
设置系统变量,在系统变量PATH添加刚才解压的NDK文件路径
图片.png
设置成功后在CMD中执行
ndk-build
会出现如下
图片.png
否则会提示找不到命令
注意:
(1)NDK的路径一定要选到这一层
图片.png
(2)系统变量有时候刚设置完后并不会使能,可能需要重启电脑
- 创建Android.mk文件以及Application.mk文件
Android.mk文件内容如下
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.c
include $(BUILD_SHARED_LIBRARY)
APP_STL := stlport_static
-
NDK目录下新建JNI文件夹
把要编译的C/C++文件,上面建的两个文件,都放入其中 -
在CMD窗口下,切换到NDK目录下
然后执行
ndk-build
图片.png
编译成功后,会自动生成两个文件夹libs, 和obj
libs下就是针对不同平台生成的so动态库文件
图片.png
任务圆满完成!