你好!这里是风筝的博客,
欢迎和我一起交流。
习惯Linux的人,在刚开始使用Android的时候,都会想:
能不能像Linux一样,通过arm-linux-gcc -o test test.c
编译出一个可执行程序放到Android环境下跑呢?
当然也是可以的,通过编写Android.mk实现。
- 1.进入hardware目录下,在里面随便建一个目录,比如我用的aw的板子:
cd ./hardware/aw/sensors/
mkdir demo && cd demo
- 2.编写自己的C/C++文件,我用的是:test.c
#include <stdio.h>
int main()
{
printf("Android test success\n");
return 0;
}
- 3.在demo目录下面,仿照其他目录下的Android.mk,编写Android.mk文件:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_SRC_FILES := test.c
LOCAL_MODULE_TAGS := optional
#LOCAL_C_INCLUDES :=
#LOCAL_STATIC_LIBRARIES :=
#LOCAL_SHARED_LIBRARIES :=
include $(BUILD_EXECUTABLE)
BUILD_EXECUTABLE表示编译出来的是一个可执行二进制
- 4.mm编译当前路径
编译成功后,可执行文件保存在:
out/target/product/xxxxx/system/bin/
路径,名字就是LOCAL_MODULE填写的名字,本例子中LOCAL_MODULE为test
这样将文件push到Android下,给予执行权限,就可以进行测试了。