首页 > 解决方案 > Android:PjSIP - 没有静态方法“SwigDirector_AudioMediaPlayer_onEof”

问题描述

我正在尝试将 PJSIP 集成到一个 android 项目中。我构建 PJSIP 并将这些类导入到我的项目中。但我只在某些设备上遇到这个错误。

java.lang.NoSuchMethodError: no static method "Lorg/pjsip/pjsua2/pjsua2JNI;.SwigDirector_AudioMediaPlayer_onEof(Lorg/pjsip/pjsua2/AudioMediaPlayer;)Z"

经过进一步调查,我发现上下文中的类有一个名为SwigDirector_AudioMediaPlayer_onEof2的方法,但没有SwigDirector_AudioMediaPlayer_onEof。有没有人有任何想法?

我会按需提供更多信息,我是 PJSIP 的新手,因此我不知道我们需要什么样的信息来调试这个。

PS:我认为这与混淆代码无关。我试过这个没有成功。

-keep class org.pjsip.pjsua2** {*;}

提前非常感谢!

标签: javaandroidpjsiptelephony

解决方案


因为您正在构建 pjsip 并仅更改 .so 文件而不是 .so 和类。

$PJSIP-MAIN/pjsip-apps/src/swig/java/android/pjsua2/src/main/java

复制所有java类(其实是pjsua2包)

并将它们正确粘贴到您的项目中(删除旧的)


推荐阅读