NDK交叉编译及so库导入Android项目,2024年最新被面试官问的android问题难倒了怎么回事

本文详细介绍了如何配置NDK环境,包括设置NDK路径、配置不同CPU架构的gcc、sysroot和isystem,以及使用CLANG进行编译。还指导了如何将编译的so库导入Android Studio项目,配置CMake和gradle,以便在项目中使用本地代码。
摘要由CSDN通过智能技术生成

配置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/ring

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值