bilibili的ijk播放器增加arm64的openssl。

本文介绍如何为ijk播放器配置并编译适用于Android 64位系统的OpenSSL库,包括修改配置文件、增加arm64支持等步骤。

ijk播放器地址https://github.com/Bilibili/ijkplayer

从https://github.com/Bilibili/openssl下载的,发现和目前的脚本不一样

在Configurations/10-main.conf下有关于android64的配置。

    "android64" => {
        inherit_from     => [ "linux-generic64" ],
        cflags           => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack -Wall",
        debug_cflags     => "-O0 -g",
        lflags           => "-pie%-ldl",
        shared_cflag     => "",
    },

从这可以解析Configure中的%table,就是支持的平台。
这里面没有上面那个文件

所以通过这种方式

"android64","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
增加。
从Configurations/10-main.conf知道inherit_from     => [ "linux-generic64" ],
上面有
"linux-generic64","gcc:-O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
可以猜到选择no_asm这种汇编。
配置改好了,就是在android/contrib/compile-openssl.sh增加arm64,这个简单,修改
FF_ALL_ARCHS="armv5 armv7a x86 arm64"
if [ "$FF_TARGET" = "armv5" -o "$FF_TARGET" = "armv7a" -o "$FF_TARGET" = "arm64" ]; then
    echo_archs
    sh tools/do-compile-openssl.sh $FF_TARGET

这就增加了arm64。
在android/contrib/tools/do-compile-openssl.sh中增加
elif [ "$FF_ARCH" = "arm64" ]; then
    FF_BUILD_NAME=openssl-arm64
    FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
    FF_ANDROID_PLATFORM=android-21
    FF_CROSS_PREFIX=aarch64-linux-android
	FF_TOOLCHAIN_NAME=${FF_CROSS_PREFIX}-4.9
    FF_PLATFORM_CFG_FLAGS="android64"
就可以成功编译了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值