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!
PS: 顺便通过 cat /proc/version 查看android采用了哪个linux内核。