pjsip的android编译

该博客详细记录了在Android平台上编译PJProject(一个开源VoIP库)和OpenH264的过程,包括设置环境变量、指定NDK版本、ABI类型和平台级别,以及使用configure-android脚本进行配置。此外,还提供了一个shell脚本来分别编译针对不同CPU架构的库文件,并将生成的库文件复制到对应目录。

安卓编译

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值