歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 在Android下編譯C

在Android下編譯C

日期:2017/3/1 11:13:17   编辑:Linux編程
以前根本沒有接觸過Android,對Android感覺老好奇了,在公司經歷幾天簡單的不知所雲的培訓就被拉去進項目了——悲催!啥都不會。總算把項目熬完了結果是啥都沒學到,淨給自己增加壓力了。今天剛好學習了下在Android下編譯C模塊,記錄一下。

我的Android源碼目錄是:/home/grj/android_kernel_workspace/Android-2.3.4,以下簡稱:$(android_src)。helloworld太經典了,我也使用這個例子來學習一下。

1、在$(android_src)目錄下,創建一個hello目錄。

#mkdir $(android_src)/hello

2、在hello目錄中,編寫hello.c,內容如下:

#include <stdio.h>
int main()
{
printf("hello world \n ");

exit(0);

}
3、在hello目錄中,編寫Android.mk, 內容如 下:

LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE:=helloworld
LOCAL_SRC_FILES:=hello.c
include $(BUILD_EXECUTABLE)

LOCAL_SRC_FILES指定源文件,LOCAL_MODULE指定要編譯的模塊名,include $(BUILD_EXECUTABLE)指定編譯成可執行文件,改為BUILD_SHARED_LIBRARY為動態鏈接庫,這些可參考$(yourAndroid)/build/core/config.mk

4、回到Android源代碼頂層目錄進行編譯,cd $(andoird_src) && make helloworld

Copyright © Linux教程網 All Rights Reserved