NDK交叉编译及so库导入Android项目

本文详细介绍了在Linux和Mac环境下配置NDK的步骤,包括设置NDK目录、添加到PATH、配置不同CPU架构的gcc和sysroot。接着,讲述了如何在Android Studio中导入和配置CMake,以及链接预编译的so库。最后,讨论了如何在项目中引用so库中的方法,提供了一个完整的流程指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

}

配置NDK

Linux(使用GCC编译)

编辑Home/用户 目录下的.bashrc

vim /home/wangyz/.bashrc

添加以下内容

配置NDK的目录

export NDK_HOME=/home/wangyz/NDK/android-ndk-r17c

将NDK目录加入PATH中

export PATH= P A T H : PATH: PATH:NDK_HOME

x86 CPU架构的gcc

export NDK_GCC_x86=$NDK_HOME/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-gcc

x86_64 CPU架构的gcc

export NDK_GCC_x64=$NDK_HOME/toolchains/x86_64-4.9/prebuilt/linux-x86_64/bin/x86_64-linux-android-gcc

ARM CPU架构的gcc

export NDK_GCC_ARM=$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc

ARM64 CPU架构的gcc

export NDK_GCC_ARM_64=$NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-gcc

x86 CPU架构 配置sysroot,isystem,否则会找不到头文件

export NDK_GCC_CONFIG_x86=“–sysroot=$NDK_HOME/platforms/android-21/arch-x86 -isystem $NDK_HOME/sysroot/usr/include -isystem $NDK_HOME/sysroot/usr/include/i686-linux-android”

x86_64 CPU架构 配置sysroot,isystem,否则会找不到头文件

export NDK_GCC_CONFIG_x64=“–sysroot=$NDK_HOME/platforms/android-21/arch-x86_64 -isystem $NDK_HOME/sysroot/usr/include -isystem $NDK_HOME/sysroot/usr/include/x86_64-linux-android”

ARM CPU架构 配置sysroot,isystem,否则会找不到头文件

export NDK_GCC_CONFIG_ARM=“–sysroot=$NDK_HOME/platforms/android-21/arch-arm -isystem $NDK_HOME/sysroot/usr/include -isystem $NDK_HOME/sysroot/usr/include/arm-linux-androideabi”

ARM64 CPU架构 配置sysroot,isystem,否则会找不到头文件

export NDK_GCC_CONFIG_ARM_64=“–sysroot=$NDK_HOME/platforms/android-21/arch-arm64 -isystem $NDK_HOME/sysroot/usr/include -isystem $NDK_HOME/sysroot/usr/include/aarch64-linux-android”

Mac(使用CLANG编译)

修改~/.bash_profile

vim ~/.bash_profile

添加以下内容

NDK目录

export NDK_HOME=/Users/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值