@XiangZhou
2015-08-04T09:48:58.000000Z
字数 897
阅读 2395
android
遵循android系统的原则,我们添加一个hello程序,来说明怎么添加一个可执行问价到android系统中。
我们在frameworks/bask下新建一个hello文件夹,在里面新建一个main.cpp和Android.mk文件。
main.cpp文件
#include "utils/RefBase.h"#include <stdio.h>class A : public android::RefBase{public:A():RefBase(){}~A(){printf("~A\n");}void speek(const char* name){printf("Hello %s\n", name);}};int main() {A *a = new A();{android::sp<A> spa(a);spa->speek("zhouxiang");android::wp<A> wpa(a);}return 0;}
Android.mk
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := helloLOCAL_SRC_FILES := main.cppLOCAL_C_INCLUDES := system/core/includeLOCAL_SHARED_LIBRARIES += libutilsinclude $(BUILD_EXECUTABLE)
我们在其中使用了RefBase这个引用计数的类,和强弱指针,RefBase.h在system/core/include文件夹下,那么我们的LOCAL_C_INCLUDES就需要包含这个路径,其实现被编译成一个叫libutils的动态库,那么我们就需要添加上这个动态库。我们要编译一个可执行的文件,那么include $(BUILD_EXECUTABLE),名字叫做hello,那么LOCAL_MODULE := hello。
我们在android的根目录下使用命令mmm frameworks/base/hello/编译这个可执行文件。
我们将其推到我们的手机上,看下运行效果。
