IjkPlayer
###########################
# Base environment setup. Based on ubuntu22.04 LTS
###########################
# sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list
# sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
cd /root
apt update
apt install -y git yasm curl wget gcc make cmake unzip build-essential
add-apt-repository -y ppa:openjdk-r/ppa
apt install -y openjdk-8-jdk openjdk-17-jdk
###########################
# Download Android-Studio and install sdk25 and build tool 25.0.3 (commandlinetools installation is optional)
###########################
#cd /root
#wget https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.3/android-studio-2021.2.1.3-linux.tar.gz
#tar zxvf android-studio-2021.2.1.3-linux.tar.gz
#cd /root/android-studio
###########################
# installd sdk25 and build tool 25.0.3
###########################
cd /root
wget https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip
unzip commandlinetools-linux-9123335_latest.zip
mkdir -p /root/Android/Sdk/cmdline-tools
mv /root/cmdline-tools /root/Android/Sdk/cmdline-tools/latest
cd /root/Android/Sdk/cmdline-tools/latest/bin
yes | ./sdkmanager --licenses
./sdkmanager --install platforms\;android-25
./sdkmanager --install build-tools\;25.0.3
./sdkmanager --install sources\;android-25
./sdkmanager --install platform-tools
###########################
# Install ndk
###########################
cd /root
wget https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip
unzip android-ndk-r10e-linux-x86_64.zip
mkdir -p /root/Android/Sdk/ndk
mv android-ndk-r10e /root/Android/Sdk/ndk/
##################
# Clone repo
##################
cd /root
git clone https://github.com/Bilibili/ijkplayer.git
###########################
# Setup environment
###########################
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export ANDROID_HOME=/root/Android/Sdk
export ANDROID_NDK=/root/Android/Sdk/ndk/android-ndk-r10e
###########################
# Initialize
###########################
cd /root/ijkplayer/config
rm module.sh
cp module-default.sh module.sh
echo "" >> module.sh
echo "" >> module.sh
echo "export COMMON_FF_CFG_FLAGS=\"\$COMMON_FF_CFG_FLAGS --disable-linux-perf --enable-openssl\"" >> module.sh
sed -i "/--disable-ffserver/d" module.sh
sed -i "/--disable-vda/d" module.sh
cd /root/ijkplayer
./init-android.sh
./init-android-openssl.sh
echo "export IJK_MAKE_FLAG=-j8" >> /root/ijkplayer/android/contrib/tools/do-detect-env.sh
###########################
# clean up
###########################
cd /root/ijkplayer/android/contrib
./compile-openssl.sh clean
./compile-ffmpeg.sh clean
###########################
# build project
###########################
cd /root/ijkplayer/android/contrib
./compile-openssl.sh all
./compile-ffmpeg.sh all
cd /root/ijkplayer/android
./compile-ijk.sh all
###########################
# Package
###########################
cd /root/ijkplayer/android/ijkplayer
# Optional proxy setting for bad networks
sed -i "/systemProp.http.proxyHost/d" gradle.properties
sed -i "/systemProp.http.proxyPort/d" gradle.properties
sed -i "/systemProp.https.proxyHost/d" gradle.properties
sed -i "/systemProp.https.proxyPort/d" gradle.properties
echo "" >> gradle.properties
echo "systemProp.http.proxyHost=192.168.2.46" >> gradle.properties
echo "systemProp.http.proxyPort=7897" >> gradle.properties
echo "systemProp.https.proxyHost=192.168.2.46" >> gradle.properties
echo "systemProp.https.proxyPort=7897" >> gradle.properties
# Rip off unused sub-projects
sed -i "/ijkplayer-example/d" settings.gradle
sed -i "/ijkplayer-exo/d" settings.gradle
# Build
./gradlew clean
./gradlew assembleRelease
###########################
# export aar
###########################
mkdir -p /root/ijkplayer/android/output
cd /root/ijkplayer/android/output
rm -rf /root/ijkplayer/android/output/*
cp /root/ijkplayer/android/ijkplayer/ijkplayer-java/build/outputs/aar/ijkplayer-java-release.aar /root/ijkplayer/android/output
cp /root/ijkplayer/android/ijkplayer/ijkplayer-armv7a/build/outputs/aar/ijkplayer-armv7a-release.aar /root/ijkplayer/android/output
cp /root/ijkplayer/android/ijkplayer/ijkplayer-arm64/build/outputs/aar/ijkplayer-arm64-release.aar /root/ijkplayer/android/output
cp /root/ijkplayer/android/ijkplayer/ijkplayer-x86/build/outputs/aar/ijkplayer-x86-release.aar /root/ijkplayer/android/output
cp /root/ijkplayer/android/ijkplayer/ijkplayer-x86_64/build/outputs/aar/ijkplayer-x86_64-release.aar /root/ijkplayer/android/output
cd /root/ijkplayer
最后一次更新于2024-08-15
0 comment