Ubuntu编译android平台的libyuv

一、环境

  • ubuntu 腾讯云的ubuntu 20.04
    在这里插入图片描述
  • NDK
    1、/etc/profile配置NDK环境变量
sudo vim /etc/profile

在这里插入图片描述
2、一定要使用source /etc/profile命令,是新配置的环境变量生效

source /etc/profile

3、使用echo ${NDK_HOME}查看是否生效

echo ${NDK_HOME}

在这里插入图片描述

二、源码下载

git clone https://chromium.googlesource.com/libyuv/libyuv

三、修改源码mk文件

3.1、修改Android.mk

3.1.1 libyuv会依赖libjpeg库,这里我们将jpeg相关的禁用掉

在这里插入图片描述

3.1.2、移除测试相关的编译

在这里插入图片描述

3.2、新增Application.mk

APP_ABI := armeabi-v7a arm64-v8a
APP_PLATFORM := android-21
APP_OPTIM := debug
APP_CFLAGS += -fexceptions  
APP_STL := gnustl_static  

四、ndk-build编译

4.1、进入libyuv的根目录,执行ndk-build clean

ndk-build clean

在这里插入图片描述
最新的NDK使用命令行编译需要制定项目路径,Android.mk,Application.mk文件路径

ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk APP_BUILD_SCRIPT=Android.mk
  • NDK_PROJECT_PATH=. 后面是一个英文句号“.”,表示当前路径
    在这里插入图片描述
    /home/ubuntu/android-ndk-r26b/build/core/add-application.mk:177: *** Android NDK: APP_STL gnustl_static is no longer supported. Please switch to either c++_static or c++_shared.

我们刚刚在Application.mk里面APP_STL := gnustl_static不再支持,需要调整为c++_static:

修改后的Application.mk

APP_ABI := armeabi-v7a arm64-v8a
APP_PLATFORM := android-21
APP_OPTIM := debug
APP_CFLAGS += -fexceptions  
APP_STL := c++_static  

在这里插入图片描述
在这里插入图片描述
成功编译出配置平台的库

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值