[Android NDK]命令行编译C++代码(JNI)的方式(windows和linux通用)

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/

相关推荐