测试平台:三星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程序相关推荐

  1. Linux 下编译并运行C语言程序

    Linux下编译并运行C语言程序 ,以Centos 系统为例 1>新建一个hello.c文件 可以直接用图形用户界面新建也可以使用命令新建. 用命令行的话,要用到Linux下的vi编辑器的相关命 ...

  2. Android设备上直接运行C/C++程序,无需ROOT!!!

    在Android开发过程中难免和JNI NDK打交道做混合开发,按一般方式当交叉编译完成得到so库后,我们将so库集成到Android项目里,打包成apk安装到手机上验证运行效果.但当我们想快速在手机 ...

  3. android获取运行应用程序,Android中获取正在运行的应用程序

    Android中获取正在运行的应用程序 ActivityMain.java 1.public class ActivityMain extends ListActivity { 2. @Overrid ...

  4. android 跑windows软件,一些Android平板即将可以运行Windows应用程序

    微软已经在Windows 10 Mobile中加入了Android虚拟机,这将是Windows 10 Mobile设备可以直接运行Android应用. 然而,并不只是微软会这么干.一些Android平 ...

  5. c语言程序能在android,android环境下编译并运行C语言程序

    我的环境: Ubuntu12.04 Android2.2 这里的C语言程序指的是运行与android系统的Linux内核上程序,目前为止有两种方法:第一种是自动编译,第二种是手动编译.这两种方法适用于 ...

  6. telnet 命令行 android,telnet登录android手机,可以执行部分linux命令

    前提是: 1) 手机已经root,且装有busybox, 2) 还装有至少一款terminal(模拟终端)软件,手机连wifi路由器. 3) 还要有一些基础常识,比如linux命令,telnet. 这 ...

  7. android o 编译及运行,【转】实践最有效的提高Android Studio运行、编译速度方案

    原文:https://blog.csdn.net/xwh_1230/article/details/60961723 实践最有效的提高Android Studio运行.编译速度方案 最有效提升Andr ...

  8. Android手机通过USB数据线共享Linux电脑网络

    这里要讲述的是手机通过usb数据线共享电脑(linux系统)的网络来自由上网.通过USB数据线将手机与电脑相连, 再分别在电脑和手机上虚拟出一个网络接口用于网络通信, 这很类似于VPN与虚拟机上网的原 ...

  9. kindle运行linux命令,Kindle4: 编译并运行官方linux kernel – v2.6.31

    在Kindle4的源码包中,也包含kernel的代码: 4.0, 4.0.1版本kernel代码一样,4.1.0版本独立的一个版本,而4.1.1, 4.1.2,4.1.3版本kernel也是一样的,所 ...

最新文章

  1. MySQL Profiling 的使用
  2. oracle通用分页语句rownum
  3. Vigen#232;re密码
  4. 定位插件_微创新 | 开发PL/SQL插件,快速定位所需字段
  5. Flink SQL 的 9 个示例
  6. RabbitMQ交换机简介
  7. 深度学习(三十二)——AlphaGo, AlphaStar
  8. CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset
  9. html 比 htm 的载入速度快,htm和html
  10. arm s32440a系统时钟设置
  11. Mysql学习总结(67)——MYSQL慢查询日志
  12. GEF入门实例_总结_04_Eclipse插件启动流程分析
  13. 一、绘制不同类别特征均值标准差直方图
  14. detach的简易用法
  15. Android EditText 只能输入数字
  16. ov7725摄像头--图像中间亮四周暗
  17. 13种APP推广手段与渠道
  18. 怎么免费做百度引流?百度免费引流方法有哪些?
  19. Ajax介绍和基本使用
  20. matlab算kdj指标,KDJ指标(随机指标)详解

热门文章

  1. Android QQ登录 程序奔溃的问题
  2. iframe标签 父子页面传值
  3. CKFinder根据用户设置权限,不同用户有自己的私有的、独立的文件夹
  4. 什么是用户账户?-联科教育
  5. wp7后台文件传输之-----BackgroundTransferService(二)
  6. Visual C++中的异常处理浅析(上)
  7. 离线java人脸识别开源算法_Java 离线人脸识别 基于ArcFace 2.0 Demo
  8. ibatis使用心得——返回Map的Map
  9. 中 自动展示链接的内容_织梦DEDECMS文章内容中的图片自动添加ALT和title属性方法...
  10. Fliptile(状压+思维)