[关闭]
@XiangZhou 2015-08-04T17:48:58.000000Z 字数 897 阅读 2146

在android系统中添加hello程序

android


遵循android系统的原则,我们添加一个hello程序,来说明怎么添加一个可执行问价到android系统中。
我们在frameworks/bask下新建一个hello文件夹,在里面新建一个main.cpp和Android.mk文件。
main.cpp文件

  1. #include "utils/RefBase.h"
  2. #include <stdio.h>
  3. class A : public android::RefBase
  4. {
  5. public:
  6. A():RefBase()
  7. {
  8. }
  9. ~A()
  10. {
  11. printf("~A\n");
  12. }
  13. void speek(const char* name)
  14. {
  15. printf("Hello %s\n", name);
  16. }
  17. };
  18. int main() {
  19. A *a = new A();
  20. {
  21. android::sp<A> spa(a);
  22. spa->speek("zhouxiang");
  23. android::wp<A> wpa(a);
  24. }
  25. return 0;
  26. }

Android.mk

  1. LOCAL_PATH := $(call my-dir)
  2. include $(CLEAR_VARS)
  3. LOCAL_MODULE := hello
  4. LOCAL_SRC_FILES := main.cpp
  5. LOCAL_C_INCLUDES := system/core/include
  6. LOCAL_SHARED_LIBRARIES += libutils
  7. include $(BUILD_EXECUTABLE)

我们在其中使用了RefBase这个引用计数的类,和强弱指针,RefBase.h在system/core/include文件夹下,那么我们的LOCAL_C_INCLUDES就需要包含这个路径,其实现被编译成一个叫libutils的动态库,那么我们就需要添加上这个动态库。我们要编译一个可执行的文件,那么include $(BUILD_EXECUTABLE),名字叫做hello,那么LOCAL_MODULE := hello
我们在android的根目录下使用命令mmm frameworks/base/hello/编译这个可执行文件。

我们将其推到我们的手机上,看下运行效果。
此处输入图片的描述

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注