Pjsip android .so文件为x86,armeabi,arm64-v8a,armeabi-v7a等不同的拱门生成

时间:2017-04-05 10:40:06

标签: pjsip

我有一个关于.so文件生成的问题在pjsip fororor.I我正在尝试为x86,armeabi,arm64-v8a,armeabi-v7a等不同的arch生成.so文件。

我正在关注波纹管链接 https://trac.pjsip.org/repos/wiki/Getting-Started/Android

我总是最终只为armeabi拱门生成.so,尽管我提到了上面链接中所述的TARGET_ABI = x86。

这些是我用于生成.so文件x86 arch的执行命令。

导出ANDROID_NDK_ROOT = / home / hari / AndroidSDK / ndk-bundle

NDK_TOOLCHAIN_VERSION = 4.9 TARGET_ABI = x86 ./configure-android --use- ndk-cflags

制作dep&&使干净&&使

然后移动到swig运行“make”命令。

您能否建议我如何解决这个问题。

谢谢你的回答。

1 个答案:

答案 0 :(得分:1)

你做得很好。您必须手动将文件夹的名称更改为您编译的arch。请查看“入门指南”的文本:

从目录$ PJDIR / pjsip-apps / src / swig运行make(注意Android NDK根目录应该在PATH中),例如:

$ cd /path/to/your/pjsip/dir
$ cd pjsip-apps/src/swig
$ make

这一步应该产生:

  • 本地库libpjsua2.so在pjsip-apps / src / swig / java / android / app / src / main / jniLibs / armeabi
    • note :如果您正在构建其他目标ABI,则需要手动将libpjsua2.so移动到相应的目标ABI目录,例如:jniLibs / armeabi-v7a,请检查{ {3}}用于目标ABI目录名称。

因此,如果你想要x86,armeabi,arm64-v8a和armeabi-v7a的.so文件,你必须使用所需的arch编译PJSIP 4次,并且每次都要更改生成的armeabi文件夹的名称你想要的拱门的名字。示例:对于armeabi-v7a,将armeabi文件夹名称更改为“armeabi-v7a”。

希望这可以帮到你。