在ubuntu上交叉编译helloWorld到arm64的android手机上去。

这里NDK用的是r19及以上的版本。

1. 安装NDK

这里下载了 android-ndk-r21b,解压到 /home/temp/programs/android-ndk-r21b

2. 写main.cpp文件

#include

int main()

{

printf("hello world\n");

return 0;

}

3. 写交叉编译脚本 generate.sh

由于命令比较短,也可直接在命令行里写。

新建generate.sh,并给执行权限 : chmod +x generate.sh

export NDK=/home/temp/programs/android-ndk-r21b

$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android26-clang++ \

main.cpp -o hello

使用了NDK 默认安装的工具链,按照官网说明,NDK在r19之后,NDK 默认安装的工具链可供使用。

可以不需要使用 make_standalone_toolchain.py 脚本生成独立工具链来使用。

这样使用自带的工具链就比较方便,不用再配置sysroot等编译选项。

其中NDK为自己解压的目录。

编译器要选择自己手机的架构,这里用的是arm64,所以是aarch64-linux-android。

编译器要选择android的api版本,这里用的是anroid 8.0.0,对应api是26。

Android NDK从r13起,默认使用Clang进行编译。

交叉编译出可执行程序hello

./generate.sh

4. 放到手机上执行

4.1 安装adb工具

ubuntu下 :

sudo apt install android-tools-adb android-tools-fastboot

4.2 push到手机

adb push hello /data/local/tmp

4.3 给hello执行权限

adb shell

cd /data/local/tmp

chmod +x hello

4.4 执行hello

./hello

可以看到输出

hello world

5. 参考

手机linux编译器,在linux上交叉编译helloWorld到android手机上去相关推荐

  1. 手机变砖修复神器之 8 个的 Android手机系统修复工具

    如果您经常在 Android 设备上遇到问题,则需要找到最好的 Android 系统修复应用程序并使用它来一劳永逸地解决您的问题.如果您不确定执行此操作的好应用是什么,我们在这里为您列出了一些最好的 ...

  2. linux 编译器 fpp,linux下常见的Fortran编译器介绍

    (百度和网页http://www.doczj.com/doc/d81360da50e2524de5187e0b.html/forum/simple/index.php?t6437.html 的作者无关 ...

  3. android 代码设置 键盘适应_硬核软件,能在电脑上控制iPhone和Android手机

    在电脑上控制手机大概已经不是什么新鲜操作,小米.华为都为自家手机和电脑的联动推出了同屏操作之类的功能,此外也可以通过开源软件Scrcpy来在Windows或者macOS上实现对安卓手机的控制,这些基本 ...

  4. python程序能不能在安卓手机上跑-把旧android手机变成跑python的服务器

    把旧android手机变成跑python的服务器大致的思路是把android手机当linux主机用. 所以我们先要shell到手机,然后在手机上搭建python运行的环境,这样我们就能够把写的pyth ...

  5. android x86小白安装教程,小白的教程,在windows上安装完美的Android手机驱动

    无论什么Android手机,若想和电脑进行连接,都必须在电脑上面安装Android手机的USB连接驱动,这个过程非常简单,以下是相关的流程. 第一步,安装adb驱动,地址http://u.115.co ...

  6. 华为手机上的计算机,华为手机可以被屏蔽到计算机上,其他Android手机呢?其实很简单...

    实际上,有很多解决手机屏幕投射问题的方法,特别是Win10系统,这非常方便!当然,今天的手机也逐渐向计算机添加了手机屏幕功能,例如华为Mate30. 今天,我将与您分享Win10屏幕广播功能. 如果您 ...

  7. android向windows推送驱动,Windows上安装完美的Android手机驱动

    无论什么Android手机,若想和电脑进行连接,都必须在电脑上面安装Android手机的USB连接驱动,这个过程非常简单,以下是相关的流程: 眼尖的可以看到这个驱动是Desire的,其实驱动是通用的, ...

  8. 孩子学计算机该不该买手机,该不该给上小学的孩子买手机?

    「 本期话题 」 该不该给上小学的孩子买手机? 很多朋友留言给我们说,最近正在纠结这个问题. 买吧,担心孩子玩手机会影响学习和视力,也担心他会沉迷游戏,更担心网上乌杂的信息"污染" ...

  9. android 备份整个手机,快收藏!史上最全的安卓手机数据备份方法都在这里了

    随时随地,想看就看.可以说,现在手机的江湖地位已经是如日中天,成为人们每天都离不开的东西.不论是工作还是生活,手机里都储存了太多代表我们回忆的数据,于我们而言,重要的不是手机,而是手机里的数据,今天, ...

最新文章

  1. 配置linux-Fedora系统下iptables防火墙
  2. BCE或能成为BCH的一个侧链
  3. 想学Python,怎么开始才好呢?
  4. 从Dart列表中删除重复项的2种方法
  5. Web前端必备-Nginx知识汇总
  6. sqlconfigdatasource mysql_MFC odbc 连接MySQL 的 (SQLConfigDataSource动态DSN)
  7. 讨论.NET Core 配置对GC 工作模式与内存的影响
  8. 在CentOs7上yum安装redis
  9. 【硬核干货】如何高效找到优质编程项目?
  10. Xcode打包踩过的那些坑
  11. android的简单知识,Android基础知识(简单实例计算器)
  12. Python 网络数据采集
  13. python︱六款中文分词模块尝试:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP
  14. 2020年程序员年薪、婚恋、跳槽等报告出炉,说的是你吗?
  15. thon应用领域介绍
  16. 特征筛选【IV和WOE】
  17. matlab 点顺时针排序,怎样对平面中的点进行顺时针或者逆时针排序
  18. wegame与客户端服务器连接中断95,wegame连接服务器失败
  19. 六十六条经典禅语提升人生境界
  20. 本地计算机架设http服务器,多维互联网(在本地电脑上架设web服务器软件)

热门文章

  1. pycharm连接远程mysql_CentOS7安装mysql以及使用pycharm远程连接mysql时遇到的问题
  2. asp建站系统源码_【服务器安全】windows系统安全注意事项
  3. 给单片机焼写程序需要什么东西_单片机怎么烧写程序
  4. js 时间比较_成都js聚合物弹性防水涂料生产厂家来电洽谈_鹏晨防水
  5. RHEL5 RHEL6升级GCC
  6. 做折线图坐标轴数字_你做的柱状图太丑了,这些美化技巧教给你(收藏)
  7. Towards a topological-geometrical theory of group equivariant non-expansive operators for data analy
  8. java 界面线性布局_怎么用java代码写一个线性布局;布局里面有两个按钮是水平的...
  9. java 鼠标单击_不通过鼠标点击,单纯的通过Java代码生成鼠标单击事件
  10. 卡尔曼滤波与组合导航原理_卫星知识科普:一种基于卫星共视的卡尔曼滤波算法!...