在android系統中添加hello程序

在android系統中添加hello程序

標籤(空格分隔): 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 := hello


LOCAL_SRC_FILES := main.cpp

LOCAL_C_INCLUDES := system/core/include
LOCAL_SHARED_LIBRARIES += libutils

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/編譯這個可執行文件。

我們將其推到我們的手機上,看下運行效果。
此處輸入圖片的描述

發佈了213 篇原創文章 · 獲贊 23 · 訪問量 76萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章