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

个人博客

http://www.milovetingting.cn

前言

记录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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值