作为一名framework工程师,ndk开发是一门必修课,今天则是我入门的最佳时机,打印helloworld是每个编程语言的入门首选,现将成果分享一下,有兴趣的可以多多交流:

一、编写c++头文件及源文件

 helloworld.h及helloworld.cpp

#include "helloworld.h"

int main(){

	cout<<"hello, world!"<<endl;
	return 0;
}
#include <iostream>


using namespace std;

二、编写makefile文件

Android.mk文件如下:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_C_INCLUDES:= helloworld.h

LOCAL_SRC_FILES:= \
	helloworld.cpp

LOCAL_MODULE:= libhelloworld

LOCAL_MODULE_TAGS := optional


include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)

LOCAL_C_INCLUDES:= helloworld.h

LOCAL_SHARED_LIBRARIES := libhelloworld

LOCAL_SRC_FILES:= \
	helloworld.cpp

LOCAL_MODULE:= myhelloworld

LOCAL_MODULE_PATH += $(LOCAL_PATH) //生成文件的位置

include $(BUILD_EXECUTABLE)

Application.mk文件如下:

APP_ABI := armeabi-v7a x86
APP_PLATFORM := android-22
APP_STL := c++_static

编译命令

ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk APP_BUILD_SCRIPT=Android.mk

 运行结果

NDK入门篇之HelloWorld

 

 NDK入门篇之HelloWorld

运行./myhelloworld

执行hello, world!

相关文章: