Android独立交叉编译环境搭建
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android独立交叉编译环境搭建,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2275字,纯文字阅读大概需要4分钟。
内容图文
![Android独立交叉编译环境搭建](/upload/InfoBanner/zyjiaocheng/1047/04e58f66940049d7bf9ca89c61912180.jpg)
我们经常需将一些C/C++源码编译成本地二进制,直接在android的linux内核上运行,这是就需要进行交叉编译。由于Android的运行环境核普通Linux又区别,所以常规方式针对ARM进行交叉编译得到的二进制,无法直接运行在Android环境上。我们需要机遇Android环境进行交叉编译,这时有两种方式:一种是编写Android.mk,在安卓源码结构下依靠安卓的编译系统搞定;另一种方式是脱离android源码体系,利用独立的android交叉编译工具链,并适当修改目标代码的Makefile(必要时还要修改源码)完成交叉编译。第一种方式适用于编译目标源码结构简单的情况;当目标源码的Makefile组织非常复杂的时候,第二种方式则是更好的选择。本文介绍第二种方式,即搭建Android独立交叉编译环境,编译出可以在Android(默认基于ARM64)上运行的二进制(ELF)程序。
1、NDK下载
https://developer.android.google.cn/ndk/downloads/index.html
本文以宿主机系统MacOS为例,所以下载MacOSX版本的ndk包
2、利用NDK安装android交叉编译工具链
#include <stdio.h> int main(void) { printf("Hello, this is a program compiled by ndk-cross-compiler!\n"); }
NickPro:tmp nickyang$ adb push hello /data hello: 1file pushed. 0.1 MB/s (7808 bytes in0.112s) NickPro:tmp nickyang$ adb shell generic_arm64:/ # cd data generic_arm64:/data # ls -l | grep hello -rwxrwxrwx 1 root root 78082018-02-1816:20 hello generic_arm64:/data # ./hello Hello, this is a program compiled by ndk-cross-compiler!10|generic_arm64:/data #
执行成功,顺利输出打印!
原文:https://www.cnblogs.com/yanghaizhou/p/8453424.html
内容总结
以上是互联网集市为您收集整理的Android独立交叉编译环境搭建全部内容,希望文章能够帮你解决Android独立交叉编译环境搭建所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。