美文网首页Android NDK
Andriod.mk 编译静态库, 依赖第三方静态库

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

作者: CitizenA_ | 来源:发表于2019-10-29 10:52 被阅读0次

    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下面

    编译后目录结构

    相关文章

      网友评论

        本文标题:Andriod.mk 编译静态库, 依赖第三方静态库

        本文链接:https://www.haomeiwen.com/subject/kkywvctx.html