安卓编译
pjproject的1.4更新到1.6
export JAVA_HOME=/home/tdwl/work/android_pjsip/jdk1.8.0_171
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:
/home/tdwl/work/android_pjsip/android-ndk-r13b
/home/tdwl/work/android_pjsip/android-sdk-linux
export ANDROID_NDK_ROOT=/home/tdwl/work/android_pjsip/android-ndk-r13b
NDK_TOOLCHAIN_VERSION=4.1 TARGET_ABI=armeabi-v7a APP_PLATFORM=android-24 ./configure-android --use-ndk-cflags
--disable-libyuv --disable-libwebrtc --disable-openh264
make OS=android NDKROOT =/home/tdwl/work/android_pjsip/android-ndk-r13b TARGET=android-24 PREFIX=./androidlib install-shared
关键:NDK_TOOLCHAIN_VERSION=4.9 TARGET_ABI=armeabi-v7a APP_PLATFORM=android-24 ./configure-android --use-ndk-cflags --prefix=/home/tdwl/work/android_pjsip/pjproject/android_out --with-openh264=/home/tdwl/work/android_pjsip/openh264-1.7.0/androidlib
make OS=android NDKROOT=/home/tdwl/work/android_pjsip/android-ndk-r13b TARGET=android-24 NDKLEVEL=24 ARCH=arm APP_ABI=armeabi-v7a PREFIX=/home/tdwl/work/android_pjsip/openh264-1.6.0/androidlib/ install-shared
pjproject-2.6
shell脚本:
#!/bin/sh
ROOT_PATH=$(pwd)
NADROID_OUT=$ROOT_PATH/android_out
LIB_ARM64=$NADROID_OUT/jniLibs/arm64-v8a
LIB_ARM32=$NADROID_OUT/jniLibs/armeabi-v7a
LIB_X86=$NADROID_OUT/jniLibs/x86
LIB_X86_64=$NADROID_OUT/jniLibs/x86_64
PROJ_PATH=$ROOT_PATH/pjproject-2.6
MAKE_OUT=$PROJ_PATH/android_out
OPENH264_PATH=$ROOT_PATH/openh264-1.7.0/androidli
SWIG_PATH=$PROJ_PATH/pjsip-apps/src/swig
mkdir -p $LIB_ARM64
mkdir -p $LIB_ARM32
mkdir -p $LIB_X86
mkdir -p $LIB_X86_64
mkdir -p $MAKE_OUT
#x86
echo $LIB_X86
cd $PROJ_PATH
NDK_TOOLCHAIN_VERSION=4.9 TARGET_ABI=x86 APP_PLATFORM=android-24 ./configure-android --use-ndk-cflags --prefix=$MAKE_OUT --with-openh264=$OPENH264_PATH
make dep
make clean
make -j12
cd $SWIG_PATH
make clean
make
cp -rf $SWIG_PATH/java/android/app/src/main/jniLibs/armeabi/libpjsua2.so $LIB_X86
#x64
echo $LIB_X86_64
cd $PROJ_PATH
NDK_TOOLCHAIN_VERSION=4.9 TARGET_ABI=x86_64 APP_PLATFORM=android-24 ./configure-android --use-ndk-cflags --prefix=$MAKE_OUT --with-openh264=$OPENH264_PATH
make dep
make clean
make -j12
cd $SWIG_PATH
make clean
make
cp -rf $SWIG_PATH/java/android/app/src/main/jniLibs/armeabi/libpjsua2.so $LIB_X86_64
#arm64
echo $LIB_ARM64
cd $PROJ_PATH
NDK_TOOLCHAIN_VERSION=4.9 TARGET_ABI=arm64-v8a APP_PLATFORM=android-24 ./configure-android --use-ndk-cflags --prefix=$MAKE_OUT --with-openh264=$OPENH264_PATH
make dep
make clean
make -j12
cd $SWIG_PATH
make clean
make
cp -rf $SWIG_PATH/java/android/app/src/main/jniLibs/armeabi/libpjsua2.so $LIB_ARM64
#arm32
echo $LIB_ARM32
cd $PROJ_PATH
NDK_TOOLCHAIN_VERSION=4.9 TARGET_ABI=armeabi-v7a APP_PLATFORM=android-24 ./configure-android --use-ndk-cflags --prefix=$MAKE_OUT --with-openh264=$OPENH264_PATH
make dep
make clean
make -j12
cd $SWIG_PATH
make clean
make
cp -rf $SWIG_PATH/java/android/app/src/main/jniLibs/armeabi/libpjsua2.so $LIB_ARM32
cp -rf $SWIG_PATH/java/android/app/src/main/java/org/ $NADROID_OUT
该博客详细记录了在Android平台上编译PJProject(一个开源VoIP库)和OpenH264的过程,包括设置环境变量、指定NDK版本、ABI类型和平台级别,以及使用configure-android脚本进行配置。此外,还提供了一个shell脚本来分别编译针对不同CPU架构的库文件,并将生成的库文件复制到对应目录。
815

被折叠的 条评论
为什么被折叠?



