Ijkplayer: You need the NDKr10e or later

Created on 28 Feb 2017  ·  7Comments  ·  Source: bilibili/ijkplayer

xx@JohnLee:~/Documents/github/ijkplayer/android/contrib$./compile-ffmpeg.sh all

[*] check archs

FF_ALL_ARCHS = armv5 armv7a arm64 x86 x86_64
FF_ACT_ARCHS = armv5 armv7a arm64 x86 x86_64

====================

[*] check env armv5

FF_ARCH=armv5
FF_BUILD_OPT=


[*] make NDK standalone toolchain

build on Darwin x86_64
ANDROID_NDK=/xx/Library/Android/sdk/ndk-bundle
IJK_NDK_REL=14.0.3529234-beta1
You need the NDKr10e or later

我知道https://github.com/Bilibili/ijkplayer/issues/2118
但是难道NDK更新了以后, 又不支持?

Most helpful comment

可以将 android/contrib/tools/do-detect-env.sh 中对版本号的判断修改一下
原代码:

case "$IJK_NDK_REL" in
    11*|12*|13*|14*)

修改为

case "$IJK_NDK_REL" in
    11*|12*|13*|14*|15*|16*|17*)

以便支持更高版本的 NDK

All 7 comments

didn't work for me

build on Linux x86_64
ANDROID_NDK=/home/mwshubham/Android/ndk-bundle
IJK_NDK_REL=15.2.4203891
You need the NDKr10e or later

Note: I am using the latest kit android-ndk-r15c-linux-x86_64

I got same issue too. I think you should use android-ndk-r14b until this bug is fixed.

I got same issue using android-ndk-r14b.
Using android-ndk-r10e passed.

跟踪进do-detect-env.sh 发现这处代码:
`
export IJK_GCC_VER=4.9
export IJK_GCC_64_VER=4.9
export IJK_MAKE_TOOLCHAIN_FLAGS=
export IJK_MAKE_FLAG=
export IJK_NDK_REL=$(grep -o '^r[0-9].' $ANDROID_NDK/RELEASE.TXT 2>/dev/null | sed 's/[[:space:]]*//g' | cut -b2-)

case "$IJK_NDK_REL" in
10e*)
# we don't use 4.4.3 because it doesn't handle threads correctly.
if test -d ${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.8
# if gcc 4.8 is present, it's there for all the archs (x86, mips, arm)
需要取到的IJK_NDK_REL中包含10e`字符串,所以可以手动安装android-ndk-r10e来解决这个问题,或者修改此处脚本
android-ndk-r10e 下载地址 https://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin,
下载解压后,然后设置环境变量Android_NDK值为刚才NDK解压的目录

the solution that reset the ndk env is works for me.

old ndk archives address :https://developer.android.google.cn/ndk/downloads/older_releases

可以将 android/contrib/tools/do-detect-env.sh 中对版本号的判断修改一下
原代码:

case "$IJK_NDK_REL" in
    11*|12*|13*|14*)

修改为

case "$IJK_NDK_REL" in
    11*|12*|13*|14*|15*|16*|17*)

以便支持更高版本的 NDK

6666老铁

Was this page helpful?
0 / 5 - 0 ratings

Related issues

LucXion picture LucXion  ·  3Comments

xuluming picture xuluming  ·  4Comments

binaryxiaobao picture binaryxiaobao  ·  4Comments

bruceshu picture bruceshu  ·  4Comments

zhangkom picture zhangkom  ·  3Comments