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程序相关推荐
- Linux 下编译并运行C语言程序
Linux下编译并运行C语言程序 ,以Centos 系统为例 1>新建一个hello.c文件 可以直接用图形用户界面新建也可以使用命令新建. 用命令行的话,要用到Linux下的vi编辑器的相关命 ...
- Android设备上直接运行C/C++程序,无需ROOT!!!
在Android开发过程中难免和JNI NDK打交道做混合开发,按一般方式当交叉编译完成得到so库后,我们将so库集成到Android项目里,打包成apk安装到手机上验证运行效果.但当我们想快速在手机 ...
- android获取运行应用程序,Android中获取正在运行的应用程序
Android中获取正在运行的应用程序 ActivityMain.java 1.public class ActivityMain extends ListActivity { 2. @Overrid ...
- android 跑windows软件,一些Android平板即将可以运行Windows应用程序
微软已经在Windows 10 Mobile中加入了Android虚拟机,这将是Windows 10 Mobile设备可以直接运行Android应用. 然而,并不只是微软会这么干.一些Android平 ...
- c语言程序能在android,android环境下编译并运行C语言程序
我的环境: Ubuntu12.04 Android2.2 这里的C语言程序指的是运行与android系统的Linux内核上程序,目前为止有两种方法:第一种是自动编译,第二种是手动编译.这两种方法适用于 ...
- telnet 命令行 android,telnet登录android手机,可以执行部分linux命令
前提是: 1) 手机已经root,且装有busybox, 2) 还装有至少一款terminal(模拟终端)软件,手机连wifi路由器. 3) 还要有一些基础常识,比如linux命令,telnet. 这 ...
- android o 编译及运行,【转】实践最有效的提高Android Studio运行、编译速度方案
原文:https://blog.csdn.net/xwh_1230/article/details/60961723 实践最有效的提高Android Studio运行.编译速度方案 最有效提升Andr ...
- Android手机通过USB数据线共享Linux电脑网络
这里要讲述的是手机通过usb数据线共享电脑(linux系统)的网络来自由上网.通过USB数据线将手机与电脑相连, 再分别在电脑和手机上虚拟出一个网络接口用于网络通信, 这很类似于VPN与虚拟机上网的原 ...
- 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也是一样的,所 ...
最新文章
- MySQL Profiling 的使用
- oracle通用分页语句rownum
- Vigen#232;re密码
- 定位插件_微创新 | 开发PL/SQL插件,快速定位所需字段
- Flink SQL 的 9 个示例
- RabbitMQ交换机简介
- 深度学习(三十二)——AlphaGo, AlphaStar
- CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset
- html 比 htm 的载入速度快,htm和html
- arm s32440a系统时钟设置
- Mysql学习总结(67)——MYSQL慢查询日志
- GEF入门实例_总结_04_Eclipse插件启动流程分析
- 一、绘制不同类别特征均值标准差直方图
- detach的简易用法
- Android EditText 只能输入数字
- ov7725摄像头--图像中间亮四周暗
- 13种APP推广手段与渠道
- 怎么免费做百度引流?百度免费引流方法有哪些?
- Ajax介绍和基本使用
- matlab算kdj指标,KDJ指标(随机指标)详解
热门文章
- Android QQ登录 程序奔溃的问题
- iframe标签 父子页面传值
- CKFinder根据用户设置权限,不同用户有自己的私有的、独立的文件夹
- 什么是用户账户?-联科教育
- wp7后台文件传输之-----BackgroundTransferService(二)
- Visual C++中的异常处理浅析(上)
- 离线java人脸识别开源算法_Java 离线人脸识别 基于ArcFace 2.0 Demo
- ibatis使用心得——返回Map的Map
- 中 自动展示链接的内容_织梦DEDECMS文章内容中的图片自动添加ALT和title属性方法...
- Fliptile(状压+思维)