java.lang.NoSuchMethodError:android中没有静态方法“Lorg/pjsip/pjsua2/pjsua2JNI;.SwigDirector_AudioMediaPlayer”

Gan*_*lli 5 android pjsip

我正在为不同的处理器实现一个 android 项目。当我只使用一个 so 文件libs/armeabi/libpjsua2.so 时,一切都很好

但我使用多个 so 文件,如libs/armeabi-v7a/libpjsua2.so, libs/mips/libpjsua2.so, libs/x86/libpjsua2.so,应用程序崩溃

这是我的日志

07-07 15:57:59.016: W/System.err(21743): java.lang.NoSuchMethodError: no static method "Lorg/pjsip/pjsua2/pjsua2JNI;.SwigDirector_AudioMediaPlayer_onEof(Lorg/pjsip/pjsua2/AudioMediaPlayer;)Z"
07-07 15:57:59.017: W/System.err(21743):    at org.pjsip.pjsua2.pjsua2JNI.swig_module_init(Native Method)
07-07 15:57:59.017: W/System.err(21743):    at org.pjsip.pjsua2.pjsua2JNI.<clinit>(pjsua2JNI.java:2264)
07-07 15:57:59.017: W/System.err(21743):    at org.pjsip.pjsua2.Endpoint.<init>(Endpoint.java:68)
07-07 15:57:59.017: W/System.err(21743):    at net.bbg.mta.api.MyApp.<clinit>(MyApp.java:399)
07-07 15:57:59.017: W/System.err(21743):    at net.bbg.mta.api.SipApi.<init>(SipApi.java:158)
07-07 15:57:59.017: W/System.err(21743):    at net.bbg.mta.service.UCService.onStartCommand(UCService.java:82)
07-07 15:57:59.017: W/System.err(21743):    at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2894)
07-07 15:57:59.017: W/System.err(21743):    at android.app.ActivityThread.access$2100(ActivityThread.java:151)
07-07 15:57:59.017: W/System.err(21743):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1401)
07-07 15:57:59.017: W/System.err(21743):    at android.os.Handler.dispatchMessage(Handler.java:102)
07-07 15:57:59.017: W/System.err(21743):    at android.os.Looper.loop(Looper.java:135)
07-07 15:57:59.017: W/System.err(21743):    at android.app.ActivityThread.main(ActivityThread.java:5254)
07-07 15:57:59.017: W/System.err(21743):    at java.lang.reflect.Method.invoke(Native Method)
07-07 15:57:59.017: W/System.err(21743):    at java.lang.reflect.Method.invoke(Method.java:372)
07-07 15:57:59.017: W/System.err(21743):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
07-07 15:57:59.017: W/System.err(21743):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Run Code Online (Sandbox Code Playgroud)

小智 5

如果您使用 proguard 来混淆代码,则需要在 proguard-rules.txt 中指定 proguard 规则,以保留您的类、方法等。

-keep class org.pjsip.pjsua2** {*;}
Run Code Online (Sandbox Code Playgroud)