Android NDK

Andriod.mk 编译静态库, 依赖第三方静态库

2019-10-29  本文已影响0人  CitizenA_

1、环境及版本信息

环境信息:suse linux

Android-ndk版本:android-ndk-r18b

2、添加NDK环境变量

在/etc/profile文件内容的后面中添加环境变量


NDKROOT=/home/tools/android-ndk-r18b

export PATH=$NDKROOT:$PATH

添加后执行source /etc/profile

3、编写 Android.mk

编译脚本及代码结构

目录结构

Android.mk


LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# 生成的so库的名字为libdemo.so

LOCAL_MODULE    := demo

# 用于编译的c文件

LOCAL_SRC_FILES := demo.c

#添加静态库

LOCAL_STATIC_LIBRARIES += /home/lei/build/lib/libswscale.a

LOCAL_STATIC_LIBRARIES += /home/lei/build/lib/libavutil.a

LOCAL_STATIC_LIBRARIES += /home/lei/build/lib/libavcodec.a

#添加库的h文件路径

LOCAL_C_INCLUDES += /home/lei/build/include

# 生成库的类型,是动态库,静态库还是可执行文件,这里先来生成一个动态库

include $(BUILD_STATIC_LIBRARY)

Applocation.mk


APP_ABI := armeabi-v7a

APP_PLATFORM := android-18

4、执行编译

在当前目录下执行ndk-build

编译成功后再jni同目录先回生成一个obj目录,静态库在obj/local/armeabi-v7a下面

编译后目录结构
上一篇 下一篇

猜你喜欢

热点阅读