个人博客
前言
记录NDK交叉编译及so库导入Android项目的简单步骤,以备后续用到时查看。
环境
在Linux和Mac环境下,分别编译输出so库。
Red Hat Enterprise Linux 8 64 位 使用GCC编译(也可以用CLANG,这里演示用GCC)
macOS Big Sur 11.3.1 使用CLANG编译(也可以用GCC,这里演示用CLANG)
下载NDK
这里只演示下载NDK17,项目中Mac用到的NDK版本为NDK21
下载NDK
wget https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip
NDK18及之后的NDK版本,建议使用CLANG编译。
解压NDK
unzip android-ndk-r17c-linux-x86_64.zip
解压后得到android-ndk-r17c文件夹
编写头文件及c文件
GCC编译
#include "get.h"
int get(){
return 666;
}
#include "get.h"
int get(){
return 666;
}
CLANG编译
#include <stdio.h>
int hi();
#include "hi.h"
int hi(){
return 888;
}
配置NDK
Linux(使用GCC编译)
编辑Home/用户 目录下的.bashrc
vim /home/wangyz/.bashrc
添加以下内容
# 配置NDK的目录
export NDK_HOME=/home/wangyz/NDK/android-ndk-r17c
# 将NDK目录加入PATH中
export 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/preb

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



