java - 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** {*;}
提前非常感谢!
解决方案
因为您正在构建 pjsip 并仅更改 .so 文件而不是 .so 和类。
去$PJSIP-MAIN/pjsip-apps/src/swig/java/android/pjsua2/src/main/java
复制所有java类(其实是pjsua2包)
并将它们正确粘贴到您的项目中(删除旧的)
推荐阅读
- python - 数据刮板:div标签的内容为空(??)
- postgresql - 使用 generate_series 更新具有正确日期范围的列
- python - 解析具有变量值的数据
- javascript - 加载窗口时出现错误=javascript的innerHTML null
- wordpress - Wordpress wp_query 排除单词和类别
- c++ - 如何修复从 poco 库收到的异常?
- swift - @ObjectBinding 不适用于协议
- python - 计算一对多数据帧中的时间差
- javascript - 如何使用 JavaScript 动态创建 HTML 标签(带有内容)?
- angular - 如何将 Angular 8 键值和 compareFn 与复杂对象一起使用