别时茫茫 2016-04-11
1,假设工程名字叫ProjTest,先建一个ProjTest文件夹,然后在ProjTest目录下新建两个目录:jni和lib,最终结果如下:
ProjTest
|----jni
|----libs
2,在jni目录下加入你的C/C++代码,这里测试用的C代码如下:
test.c
#include <stdio.h> #include <stdlib.h> int main() { printf("Hello World\n"); return 0; }
3,在jni目录下新建并编辑Android.mk文件,这里只有一个c代码文件:test.c,对应的Android.mk如下:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # give module name LOCAL_MODULE := hello_world # list your C files to compile LOCAL_SRC_FILES := test.c # this option will build executables instead of building library for android application. include $(BUILD_EXECUTABLE)
因为我们这里的C代码是可执行程序,所以配置的是BUILD_EXECUTABLE,
如果是静态库*.a文件,则用BUILD_STATIC_LIBRARY
如果是动态链接库*.so文件,则用BUILD_SHARED_LIBRARY
4,最后将命令行切换到ProjTest/jni目录下,假设你已经设置好ndk的环境变量,然后执行命令:ndk-build
参考自:https://rathodpratik.wordpress.com/2013/03/24/build-cc-executables-for-android-using-ndk/