Welcome 微信登录

首页 / 操作系统 / Linux / 在Android下编译C

以前根本没有接触过Android,对Android感觉老好奇了,在公司经历几天简单的不知所云的培训就被拉去进项目了——悲催!啥都不会。总算把项目熬完了结果是啥都没学到,净给自己增加压力了。今天刚好学习了下在Android下编译C模块,记录一下。我的Android源码目录是:/home/grj/android_kernel_workspace/Android-2.3.4,以下简称:$(android_src)。helloworld太经典了,我也使用这个例子来学习一下。1、在$(android_src)目录下,创建一个hello目录。         #mkdir $(android_src)/hello2、在hello目录中,编写hello.c,内容如下:         #include <stdio.h> 
         int main()
          {
               printf("hello world ");  
              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.mk4、回到Android源代码顶层目录进行编译,cd $(andoird_src)   &&  make helloworld