android 下运行linux-c 文件

因为andorid是基于linux开发的,所以理论上android应该可以运行gcc-make生成的二进制文件。实验方法如下:

1.准备材料: 安卓虚拟器(海马玩,雷电等)或安卓实体机。

2.Linux开发环境。(VMware虚拟安装Ubuntu12+ 等)

3. Linux下新建经典的hello.c文件

#include<stdio.h>

int main(void){

printf("hello-world-for-android!\n");

return 0;

}

4.然后用以下指令make一下生成hello二进制文件,android下的c函数库是bionic C标准库,而linux使用的是glibc,所以只能使用静态编译。gcc加-static。

gcc hello hello.c -static

 

5.将生成的hello文件拷贝到windows的D:\盘,然后启动海马玩模拟器,再启动cmd窗口,用adb工具将hello文件push到模拟器里的data文件夹中,分别执行以下指令:(##后为解析无须输入)

adb push d:\hello /data       ##将hello文件拷贝到安卓模拟器

adb shell                             ##启动adb shell指令

chmod 777 /data/hello      ##修改hello为可执行权限

./data/hello                       ##运行hello,此时cmd上应该会显示:  hello-world-for-android!

 

android 下运行linux-c 文件

PS: 顺便通过 cat /proc/version 查看android采用了哪个linux内核。