Chinaunix首页 | 论坛 | 博客
  • 博客访问: 93515
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 171
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-24 12:12
个人简介

好好学习天天向上

文章分类

全部博文(24)

文章存档

2018年(1)

2016年(7)

2015年(6)

2014年(10)

我的朋友

分类: Android平台

2016-01-11 15:38:32

1、  ./external目录下创建文件夹hello/

$cd ./external/

$mkdir hello

2、  hello/目录创建文件hello.c,文件内容如下:


  1. #include <stdio.h>

  2. #include <stdlib.h>

  3. #include <string.h>

  4. #include <log/log.h>

  5. #define hello_log(fmt,arg...) SLOGE("hello_log: " fmt,##arg)

  6. int main(int argc, char **argv) { printf("Hello World! printf\n");

  7.     hello_log("Hello World! SLOGE\n");

  8.     return 0; }

3、  hello/目录下创建文件Android.mk,文件内容如下:


点击(此处)折叠或打开

  1. LOCAL_PATH:= $(call my-dir)

  2. include $(CLEAR_VARS)

  3. LOCAL_LDLIBS := -llog

  4. LOCAL_SRC_FILES:= \

  5. hello.c

  6. LOCAL_MODULE := hellotest

  7. include $(BUILD_EXECUTABLE)

4、  android工程根目录下编译hellotest模块,此步骤后会在out/..目录下面生成文件hellotest

$make hellotest

5、  运行模块:如果用adb 命令

$adb push hellotest /data/local/

$adb shell

$chmod 777 ./data/local/hellotest

$./data/local/hellotest

如果在init.rc里面启动,因为默认情况下,init启动的程序标准输出都被重定向到null设备里面,所有用printf打印的log是抓不到的,此时如果想抓log,只能用logcat抓取宏hello_log打印出的内容。如果想使用hello_log宏,在源程序里面要添加头#include ,在makefile里面要添加LOCAL_LDLIBS := -llog参数。关于log.h的使用,具体附件文件\system\core\liblog\README内容

$adb logcat > d:\log.txt

阅读(1342) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~