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

点击(此处)折叠或打开

  1. #include<stdio.h>

  2. intmain()
  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

更多相关文章

  1. 中文手写输入 (一)
  2. Android(安卓)Studio与Genymotion模拟器结合使用的一些心得
  3. Android(安卓)反编译apk文件得到项目文件
  4. Android实现类似excel表格的方法整理
  5. 【Android性能优化】使用NDK进行Java和C++混编
  6. Android(安卓)中自定义属性(attr.xml,TypedArray)的使用!
  7. Android(安卓)Audio底层原理(一)
  8. android UI 之 渐变效果
  9. 高效地分析Android内存--MAT工具解析

随机推荐

  1. Android(安卓)IME
  2. Android(安卓)O(8.0)后台service限制
  3. ADB常用命令汇总
  4. android使用AIDL实现跨进程通讯(IPC)
  5. Android——学习之旅:adb常用命令行
  6. Android开发者福利之--------Android(安
  7. Android消息推送的Androidpn实现方式:(一)下
  8. 将apk装入system/app
  9. Android高手进阶教程(三)之 ----Android(
  10. android中常见的设计模式有哪些?