利用Android源代码编译一个自己写的Hello World模块

这应该是我的Android底层开发第二篇文章,在编译Android源代码成功的基础上又进一步利用Android源代码编译成功了一个自己写的hello world,算入门第二步了。
1、在android 源代码路径下的development路径下创建hello路径;
2、创建hello.c文件;
3、在hello.c文件中写入以下内容:

点击(此处)折叠或打开

  1. #include <stdio.h>

  2. int main()
  3. {
  4.     printf("Hello World!\n");// 输出Hello 
  5.     return 0;
  6. }
4、创建Android.mk文件;
5、在Android.mk文件中写入以下内容:

点击(此处)折叠或打开

  1. LOCAL_PATH:=$(call my-dir)
  2. include $(CLEAR_VARS)
  3. LOCAL_SRC_FILES:=\
  4. hello.c
  5. LOCAL_MODULE:=helloworld
    LOCAL_MODULE_TAGS := optional
  6. include $(BUILD_EXECUTABLE)
6、回到源代码顶层目录
7、单独编译helloworld模块:

点击(此处)折叠或打开

  1. make helloworld
    比编译整个源代码时间短多了。
8、进入源代码路径下的out/target/product/generic路径
9、后台方式运行模拟器

点击(此处)折叠或打开

  1. emulator @avd名称 -image system.img -data userdata.img -ramdisk ramdisk.img &
       终端执行后多回次回车。
10、 将helloworld文件复制到模拟器中

点击(此处)折叠或打开

  1. adb root
  2. adb remount
  3. 进入源代码路径下的out/target/product/generic/system/bin路径下
  4. adb push ./helloworld /system/bin
11、进入虚拟机看结果

点击(此处)折叠或打开

  1. adb shell
  2. cd /system/bin
  3. ./helloworld

你可能感兴趣的:(利用Android源代码编译一个自己写的Hello World模块)