概念:
NDK即Native Development Kit。是谷歌提供的一套用来开发Android应用使用的动态库的工具集。
准备工作:
1、安装NDK工具。从官网上下载工具包,解压到本地即可。(强烈建议使用r7之后的版本,这样就可以跳过cywin了。我使用的是android-ndk-r10)
2、配置环境变量。配置环境变量NDK_HOME为NDK工具安装目录(即解压目录)。保存配置后,可以在cmd窗口中,使用%NDK_HOME%查看配置是否正确。
初试牛刀:
1、在本地创建Hello目录。
2、在Hello目录下,创建jni目录。
3、在jni目录下创建src目录,在src目录下,创建hello.cpp,内容如下:
{
printf("Hello\n");
return 0;
}
4、在jni目录下创建Android.mk
LOCAL_MODULE := hello
LOCAL_SRC_FILES := src/hello.cpp
LOCAL_CFLAGS += -pie -fPIE
LOCAL_LDFLAGS += -pie -fPIE
include $(BUILD_EXECUTABLE)
5、在jni目录下创建Application.mk
#APP_ABI := all
APP_ABI := x86 armeabi-v7a
6、在Hello目录下,执行下面的批处理命令:
%NDK_HOME%\ndk-build
pause
7、将生成的可执行文件push到设备上运行:
arm平台:
adb push libs/armeabi-v7a/hello /data/local/
adb shell chmod 777 /data/local/hello
adb shell /data/local/hello
x86平台:
adb push libs/x86/hello /data/local/
adb shell chmod 777 /data/local/hello
adb shell /data/local/hello
源码路径:https://github.com/SanYuanAndy/native_code.git