1.安装jdk,ndk,sdk配置环境
jdk1.8:
sudo apt-get install openjdk-8-jdk
ndk:
wget https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip unzip android-ndk-r10e-linux-x86_64.zip
sdk:
wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz tar -xvf android-sdk_r24.2-linux.tgz cd android-sdk-linux/tools/ ./android update sdk --no-ui
sudo vi /etc/profile
添加:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export ANDROID_HOME=/home/xxxx/android-sdk-linux
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export ANDROID_NDK=/home/xxxx/android-ndk-r10e
export PATH=$ANDROID_NDK:$PATH
source /etc/profile
2.下载代码:
2.1.sudo git config --global http.postBuffer 5242880000
2.2.更改hosts:
sudo vim /etc/hosts
140.82.114.3 github.com
2.3.下载编译
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android cd ijkplayer-android ./init-android.sh cd android/contrib ./compile-ffmpeg.sh clean ./compile-ffmpeg.sh all cd .. ./compile-ijk.sh clean ./compile-ijk.sh all
2.4fatal error: ijksoundtouch/ijksoundtouch_wrap.h: No such file or directory
估计是文件下载不全。
2.5linux/perf_event.h: No such file or directory
添加–disable-linux-perf
3.编译结果:
ffmpeg:
libijkplayer.so:
./android/ijkplayer/ijkplayer-x86/src/main/obj/local/x86/libijkplayer.so ./android/ijkplayer/ijkplayer-x86/src/main/libs/x86/libijkplayer.so ./android/ijkplayer/ijkplayer-armv5/src/main/obj/local/armeabi/libijkplayer.so ./android/ijkplayer/ijkplayer-armv5/src/main/libs/armeabi/libijkplayer.so ./android/ijkplayer/ijkplayer-arm64/src/main/obj/local/arm64-v8a/libijkplayer.so ./android/ijkplayer/ijkplayer-arm64/src/main/libs/arm64-v8a/libijkplayer.so ./android/ijkplayer/ijkplayer-x86_64/src/main/obj/local/x86_64/libijkplayer.so ./android/ijkplayer/ijkplayer-x86_64/src/main/libs/x86_64/libijkplayer.so ./android/ijkplayer/ijkplayer-armv7a/src/main/obj/local/armeabi-v7a/libijkplayer.so ./android/ijkplayer/ijkplayer-armv7a/src/main/libs/armeabi-v7a/libijkplayer.so [arm64-v8a] Compile++ : ijksoundtouch <= SoundTouch.cpp [arm64-v8a] Compile++ : ijksoundtouch <= mmx_optimized.cpp [arm64-v8a] Compile++ : ijksoundtouch <= ijksoundtouch_wrap.cpp [arm64-v8a] Install : libijkffmpeg.so => libs/arm64-v8a/libijkffmpeg.so [arm64-v8a] StaticLibrary : libcpufeatures.a [arm64-v8a] StaticLibrary : libyuv_static.a [arm64-v8a] StaticLibrary : libijkj4a.a [arm64-v8a] StaticLibrary : libijksoundtouch.a [arm64-v8a] StaticLibrary : libandroid-ndk-profiler.a [arm64-v8a] SharedLibrary : libijksdl.so [arm64-v8a] SharedLibrary : libijkplayer.so [arm64-v8a] Install : libijksdl.so => libs/arm64-v8a/libijksdl.so [arm64-v8a] Install : libijkplayer.so => libs/arm64-v8a/libijkplayer.so /home/customer/200/ijkplayer-android/android [x86_64] Compile++ : ijksoundtouch <= SoundTouch.cpp [x86_64] Compile++ : ijksoundtouch <= mmx_optimized.cpp [x86_64] Compile++ : ijksoundtouch <= ijksoundtouch_wrap.cpp [x86_64] StaticLibrary : libcpufeatures.a [x86_64] StaticLibrary : libyuv_static.a [x86_64] StaticLibrary : libijkj4a.a [x86_64] StaticLibrary : libandroid-ndk-profiler.a [x86_64] SharedLibrary : libijksdl.so [x86_64] StaticLibrary : libijksoundtouch.a [x86_64] SharedLibrary : libijkplayer.so [x86_64] Install : libijksdl.so => libs/x86_64/libijksdl.so [x86_64] Install : libijkplayer.so => libs/x86_64/libijkplayer.so /home/customer/200/ijkplayer-android/android customer@ubuntu:~/200/ijkplayer-android/android$



