Mac下编译androind下的pjsip+openh264

2023年10月12日

编译前准备

ANDROID NDK

可以提前设置好环境变量

export ANDROID_NDK_ROOT=XXXXX

openh264

下载官方库,并解压

git clone https://github.com/cisco/openh264.git

编译 arm架构

cd openh264
mkdir android-arm
cd build

修改 platform-android.mk 文件,添加

PREFIX=android-arm

然后执行

make OS=android NDKROOT=$ANDROID_NDK_ROOT TARGET=android-21 ARCH=arm NDKLEVEL=21 clean
make OS=android NDKROOT=$ANDROID_NDK_ROOT TARGET=android-21 ARCH=arm NDKLEVEL=21
make install OS=android NDKROOT=$ANDROID_NDK_ROOT TARGET=android-21 ARCH=arm NDKLEVEL=21

复制 libopenh264.so 到你的项目

编译arm64架构

cd openh264
mkdir android-arm64
cd build

修改 platform-android.mk 文件,添加

PREFIX=android-arm64

然后执行

make OS=android NDKROOT=$ANDROID_NDK_ROOT TARGET=android-21 ARCH=arm64 NDKLEVEL=21 clean
make OS=android NDKROOT=$ANDROID_NDK_ROOT TARGET=android-21 ARCH=arm64 NDKLEVEL=21
make install OS=android NDKROOT=$ANDROID_NDK_ROOT TARGET=android-21 ARCH=arm64 NDKLEVEL=21

复制 libopenh264.so 到你的项目

编译pjsip

下载官方库,并解压

git clone https://github.com/pjsip/pjproject

编译armeabi-v7a架构

cd pjproject-2.13.1

执行

TARGET_ABI=armeabi-v7a APP_PLATFORM=android-21 ./configure-android --with-openh264=/你的openh264路径/android-arm
make dep && make

然后进入

cd swig/src/app
make

最终生成的文件

so文件在

 pjsip-apps/src/swig/java/android/app/src/main/jniLibs/armeabi

java文件

pjsip-apps/src/swig/java/android/pjsua2/src/main/java

复制到你的项目里

 

编译 armeabi-v8a 架构

先清理

cd swig/src/app  
make clean

然后回到根目录执行

TARGET_ABI=armeabi-v8a APP_PLATFORM=android-21 ./configure-android --with-openh264=/你的openh264路径/android-arm64
make dep && make

然后进入

cd swig/src/app
make

同样复制最终的生成的so 文件到你的项目里即可

© 1987 - 2023 张晓刚 版权所有

浙ICP备16002143号-1