编译安卓平台可执行文件,并在安卓手机上执行
编译cmake跨平台库的时候,由于没有搞好编译流程,直接使用arm-linux-androideabi-gcc命令编译了一个可执行文件,为了验证是否是安卓平台可用的(哈哈,当然是),就想办法把编译出的文件放到安卓机器上用shell执行。
现在理解了adb shell的作用,就是可以在手机宿主上执行命令的,因此猜测也可以如在Linux系统上执行可执行文件一样执行安卓手机上面的可执行文件。
添加PATH变量:export PATH=$PATH:./android-toolchain/bin (为了下一句命令可以找到arm-linux-androideabi-gcc,或者直接下一句命令写全路径)
编译手机可执行文件:arm-linux-androideabi-gcc main.c
流程如下:
$adb shell
$su
#
使用PC版qq发送可执行文件到手机,文件就直接被存储到路径:/storage/emulated/0/tencent/QQfile_recv 下
将可执行文件拷贝到执行目录下 cp /storage/emulated/0/tencent/QQfile_recv/a.out /data/local
可执行文件放到 /data/local 目录下,cd到可执行目录,保证有可执行权限(chmod 777 a.out),执行./a.out即可。
若报错误:
"./a.out": error: Android 5.0 and later only support position-independent executables (-fPIE).
需要在编译的时候添加选项:
Android.mk脚本
LOCAL_CFLAGS += -pie -fPIE
LOCAL_LDFLAGS += -pie -fPIE
当直接使用arm-linux-androideabi-gcc编译时,执行如下命令:
arm-linux-androideabi-gcc main.c -pie -fPIE 生成可执行文件
参考链接:https://blog.csdn.net/zhangmiaoping23/article/details/71159867
编译安卓平台可执行文件,并在安卓手机上执行相关推荐
- Android x86是什么?,安卓X86是什么?和手机上的安卓系统有什么区别?
原标题:安卓X86是什么?和手机上的安卓系统有什么区别? 可能许多人都知道安卓系统甚至现在就在使用安卓系统看到的这篇文章,那么你有没有听说过安卓X86系统呢?它和我们手机上使用的安卓系统有什么区别呢? ...
- uniapp 安卓平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限
今天接到一个项目 uniapp写的app 客户要求 在app加载页不可以向用户申请读取权限 要使用到这个权限的时候再申请 打开manifest.json文件,切换到"源码视图"项 ...
- fc安卓模拟器_安利一款手机上的红白机模拟器
戳上面的蓝字关注我哦! 使用平台:安卓 软件简介: NES.emu是一款任天堂红白机(NES.FC)模拟器,软件支持横竖屏.自动保存游戏进度.按键自定义等功能,还可以自行编辑作弊文件,小编为大家带来的 ...
- fc模拟器安卓版_经典fc游戏手机版下载-经典fc游戏100合1手机版下载完整版v1.0705...
经典fc游戏手机版是非常火爆的老牌游戏,曾经是最经典的插卡游戏,如今整合到了手机端中,你可以通过一款游戏来玩遍以前的那些街机风格的所有游戏,比如大家熟悉的魂斗罗.拳皇.冒险岛等等,回忆一下当初的那个时 ...
- 安卓虚拟机_新一代玩机神器诞生,在安卓手机上运行虚拟机
一年前这个时候,我们安利过一款名为虚拟大师 VMOS 的安卓应用. 它的作用就是把安卓系统以 App 的形式运行在任意 Linux 或安卓系统上. 具体来讲就是在安卓手机上,运行一个Android 5 ...
- 安卓平台及windows平台上基于Gazebo仿真器的px4遥控控制
这里写自定义目录标题 安卓平台及windows平台上基于Gazebo仿真器的px4遥控控制 数据链路描述 安卓平台简介 安卓平台四旋翼无人机控制 安卓平台固定翼无人机控制 安卓平台无人车控制 安卓遥控 ...
- QML on Android 在小米5s手机上中文字体显示异常
前言 随着Qt版本的不断升级,用QML开发Android移动端应用越来越方便,并且支持的功能也逐渐增多,不过由于Android机型实在太多,并且大部分Android系统都是由手机厂商深度定制过,然后在 ...
- android 编译 汇编,汇编语言写的hellworld,在安卓手机上运行
小白:小程,你为什么给我讲这么古老的语言?我有可能会跟它打交道吗? 小程:如果允许在使用时才去学的话,任何东西都不必提前学习.而"用时才学"的情况是经常存在的,也是有道理的,你的时 ...
- 用PS为网迅安卓公司设计基于安卓平台的手机应用图标
用PS为网迅安卓公司设计基于安卓平台的手机应用图标 要求如下: 1)画布尺寸为1000×700px,分辨率为72 dpi,色彩模式为RGB模式. 2)要求每个图标尺寸不超过300×300px,每个图标 ...
最新文章
- EDM HTML编写建议和规范
- 安装 Windows 7 64位系统 相关注意事项
- 登陆共享服务器的位置,共享服务器哪里登陆
- Jmeter对服务器的压测
- c++如何打开hdf5文件_如何打开CSV格式文件才能正常使用?
- 前端学习(2374):技术栈的使用
- 一般一个前端项目完成需要多久_制作分销小程序最快要多久
- python创建空元组_Python——元组的基本语法(创建、访问、修改、删除)
- html 表格行排序,用客户端HTML表格排序对行进行分组
- 【XSY2307】树的难题
- Vue3+Cli4 中使用 Echarts 5
- 【Leetcode 136】Single Number
- PowerApps 中的 Filter、Search 和 LookUp 函数
- linux 双显卡 黑屏 amd,彻底解决AMD显卡win10开机黑屏问题
- 美团网官网最新底部导航页面制作及CSS样式设计
- Css3实现背景毛玻璃效果
- Vue3能用到生产环境了吗?
- HTML网页下,在div标签中嵌套其他html页面
- 海思(hi3559c)gcc编译环境的搭建。(记录二)
- xshell执行sql脚本