android手机编译可运行的linux程序
測試平臺:三星S4,內核3.4.5(華為p8上也測試通過,內核3.10.61)
Ubuntu版本:14.04
?
1. 搭建交叉編譯環境
1.1 下載交叉編譯工具:
arm-none-linux-gnueabi,下載地址:
http://www.codesourcery.com/sgpp/lite/arm/portal/package7851/public/arm-none-linux-gnueabi/arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
1.2 安裝交叉編譯工具:
將壓縮包復制到/opt/toolchains/,運行解壓命令tar -jxvf,解壓得到arm-2010.09文件夾
1.3 配置環境變量
1) ?su nano ~/.bashrc
2) ?在文件末尾添加如下的一行
export PATH=$PATH:/opt/toolchains/arm-2010.09-50/bin
3) ?保存文件并退出
4) ?運行命令 source ~/.bashrc
5) ?當然可以用命令行驗證一下是否成功 ?arm-none-linux-gnueabi-gcc ?-v。
注:配置好環境變量后,運行命令如果提示無法找到該文件,那么需要: apt-get install lib32z1,給系統裝上32位軟件的兼容庫。
?
2. 編譯C程序
新建hello.c
#include <stdio.h> int main() { printf("hello world android linux grograming\n"); return; }
編譯:arm-none-linux-gnueabi-gcc -static -o hello hello.c
注:必須加上-static,否則運行時會提示./hello: No such file or directory。也就是在編譯時將函數都靜態編譯到程序中了,運行時不用再動態連接,如果不加此選項,在android平臺上就不讓運行。
?
3. 運行
adb連接手機
1) adb push hello /sdcard/
2) adb shell
3)./hello
?
?
?
總結
以上是生活随笔為你收集整理的android手机编译可运行的linux程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果6耳机和苹果7耳机区别
- 下一篇: 苹果7pa1784是什么版本