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 文件到你的项目里即可