想要在x86下编写一个c源文件测试手机某些功能,交叉编译后放到展讯手机中运行测试。那么问题来了,好像仅仅使用交叉编译器arm-eabi-gcc编译c文件总是出错,原因是依赖某些库,同事告诉我要在安卓源码中编译才行。
一。在安卓项目根目录下新建test目录,编写好源文件test.c后放到test目录下,编写Android.mk文件如下(相当与mkfile)。
二,在安卓项目下执行#source build/envsetup.sh 读取各个board的vendorsetup.sh
选定开发板的配置,去选择要编译的对象,我是展讯平台的,#lunch 63(项目编号,你们自己搞自己的)。
#kheader 安装kernel header给android编译
至此,已经有了编译环境(编译工具等已经设置好了)
进入 test目录,执行mm命令。就可以单独编译test.c文件了。可执行文件会输出到out啥目录的。
三。把文件传输到手机中
这个是adb命令的使用,应该不用多说。
1 #sudo adb start-server (如果不加sudu我是不能成功启动)
2 #adb shell (启动adb shell ,前提链接手机且usb调试打开)
3 #su (使用root权限)
在电脑上已经进入adb的shell界面了,打开电脑的另一个终端,把我们的可执行文件传出到手机中。
#adb push test 可执行文件路径 /data (把刚才生成的test二进制文件传输到手机的data目录)