Ubuntu搭建Android架构so库交叉编译环境

目录


前言

需要将一些源码编译成Android可用的架构的so库

一、下载NDK并安装

https://developer.android.google.cn/ndk/downloads/


二、安装NDK

将下载下来的android-ndk-r23b-linux.zip解压在根目录,并配置环境

vi ~/.profile

在末尾出添加并保存

export ANDROID_NDK_ROOT="/home/marico/android-ndk-r23b"

然后再执行source ~/.profile

在终端上输入ndk-build,提示如下图所示,即安装成功。


三、配置交叉编译工具链

在android-ndk-r23b/build/tools目录有生成独立工具链的脚本make-standalone-toolchain.sh

make-standalone-toolchain.sh --install-dir=/tmp/android-toolchain --arch=arm64 --platform=android-29

--install-dir 工具链安装位置

--arch 编译的so库架构

--platform 编译平台

因为我编译的是Android arm64架构的,采用的是默认配置

android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin

配置工具链的环境

vi ~/.profile

在末尾出添加并保存

export TOOLCHAIN_PATH="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin"

然后再执行source ~/.profile

至此,交叉编译环境已经搭建完成。


四、编写交叉编译脚本

相关推荐
chase。13 分钟前
在 Ubuntu 上安装和切换多个 GCC 版本
linux·服务器·ubuntu
_一条咸鱼_15 分钟前
Android Glide 框架线程管理模块原理的源码级别深入分析
android
_一条咸鱼_21 分钟前
Android Retrofit 框架注解定义与解析模块深度剖析(一)
android
法欧特斯卡雷特38 分钟前
Kotlin Sequence 真的如此不堪吗?
android·后端·编程语言
pengyu41 分钟前
系统化掌握Flutter开发之GestureDetector(一):筑基之旅
android·flutter·dart
帅次1 小时前
Flutter Widget 体系结构解析
android·flutter·ios·小程序·xcode·web app·dalvik
罗狮粉 992 小时前
Mysql主从复制和Mysql高可用以及负载均衡配置
android·mysql·负载均衡
@Dai3 小时前
【Python】为什么要写__init__.py
android·java·python
缘来的精彩4 小时前
Android JNI性能优化与字符串加载实践
android·性能优化·jni·androidndk
helpme流水9 小时前
【人工智能】Open WebUI+ollama+deepSeek-r1 本地部署大模型与知识库
人工智能·ubuntu·ai