【问题标题】:Build FFMPEG 3.1.4 for Android为 Android 构建 FFMPEG 3.1.4
【发布时间】:2017-03-02 12:48:26
【问题描述】:

我使用 thisthis 方法为 Android 构建了最新 (3.1.4) FFMPEG 版本。
构建成功。
我有几个带有sources / headers / .o 文件的文件夹。
但不幸的是,没有我需要的 .so 文件。
是否有一些更新的脚本可用于为 Android 构建最新的 FFMPEG
或者,如何将.o等文件转换为.so

【问题讨论】:

    标签: android ffmpeg android-ffmpeg


    【解决方案1】:

    我现在实际上已将其发布为一些答案。这非常适用于 ffmpeg 3.1.4:

    #!/bin/bash
    
    NDK=$HOME/Android/Sdk/ndk-bundle
    SYSROOT=$NDK/platforms/android-19/arch-arm/
    TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
    CPREFIX=$TOOLCHAIN/bin/arm-linux-androideabi-
    
    function build_it {
    ./configure \
        --prefix=$PREFIX    \
        --disable-static    \
        --enable-shared     \
        --disable-doc       \
        --disable-ffmpeg    \
        --disable-ffplay    \
        --disable-ffprobe   \
        --disable-ffserver  \
        --disable-avdevice  \
        --disable-doc       \
        --disable-symver    \
        --cross-prefix=$CPREFIX \
        --target-os=linux   \
        --arch=arm      \
        --enable-cross-compile  \
        --enable-gpl        \
        --sysroot=$SYSROOT  \
        --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
        --extra-ldflags="$ADDI_LDFLAGS" \
        $ADDITIONAL_CONFIGURE_FLAG
        make clean
        make -j9
        make install
    }
    
    CPU=arm
    PREFIX=$(pwd)/android/$CPU
    ADDI_CFLAGS="-marm"
    
    build_it
    

    你会在 android/arm/...中找到 android 库和头文件

    【讨论】:

    • 它会生成.a(静态库),那么.so呢?还是谢谢你,我想我也可以使用静态库。
    • --enable-shared 或 static 将为您提供正确的库 .so 或 .a
    • 它为我生成.sos。我如何获得.a
    • --enable-shared--enable-static 之间切换到您需要的内容。不要忘记禁用另一个。
    猜你喜欢
    • 2019-09-12
    • 2019-03-08
    • 1970-01-01
    • 2012-02-07
    • 2012-03-26
    • 2014-03-25
    • 2016-03-25
    • 2017-11-22
    • 2012-06-09
    相关资源
    最近更新 更多