zoukankan      html  css  js  c++  java
  • No implementation found for void `org.webrtc.PeerConnectionFactory.initializeAndroidGlobals(android.content.Context, boolean)

    背景介绍

    最近在使用 AndroidRTC 利用WebRtc屏幕共享时使用PeerConnectionFactory.initializeAndroidGlobals(context, true, true, true);这句代码时一直报错。
    而且我在本地debug总是没有问题,但是测试一打包就崩溃,我就非常纳闷。

    错误日志及错误分析

    java.lang.UnsatisfiedLinkError: No implementation found for void org.webrtc.PeerConnectionFactory.nativeInitializeAndroidGlobals(android.content.Context, boolean) (tried Java_org_webrtc_PeerConnectionFactory_nativeInitializeAndroidGlobals and Java_org_webrtc_PeerConnectionFactory_nativeInitializeAndroidGlobals__Landroid_content_Context_2Z)
    	at org.webrtc.PeerConnectionFactory.nativeInitializeAndroidGlobals(Native Method) ~[na:0.0]
    	at org.webrtc.PeerConnectionFactory.initializeAndroidGlobals(PeerConnectionFactory.java:63) ~[na:0.0]
    	at org.webrtc.PeerConnectionFactory.initializeAndroidGlobals(PeerConnectionFactory.java:70) ~[na:0.0]
    	at com.focustech.android.studyfun.util.webrtc.SFWebRtcClient.<init>(SFWebRtcClient.java:409) ~[na:0.0]
    	at com.focustech.android.studyfun.activity.screenshare.ScreenShareActivity.init(ScreenShareActivity.java:170) ~[na:0.0]
    	at com.focustech.android.studyfun.activity.screenshare.ScreenShareActivity.onActivityResult(ScreenShareActivity.java:144) ~[na:0.0]
    	at android.app.Activity.dispatchActivityResult(Activity.java:7690) ~[na:0.0]
    	at android.app.ActivityThread.deliverResults(ActivityThread.java:4928) ~[na:0.0]
    	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4975) ~[na:0.0]
    	at android.app.ActivityThread.-wrap20(Unknown Source:0) ~[na:0.0]
    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1950) ~[na:0.0]
    	at android.os.Handler.dispatchMessage(Handler.java:108) ~[na:0.0]
    	at android.os.Looper.loop(Looper.java:166) ~[na:0.0]
    	at android.app.ActivityThread.main(ActivityThread.java:7425) ~[na:0.0]
    	at java.lang.reflect.Method.invoke(Native Method) ~[na:0.0]
    	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) ~[na:0.0]
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) ~[na:0.0]
    

    这个错误是JNI 找不到 Java_org_webrtc_PeerConnectionFactory_nativeInitializeAndroidGlobals 函数

    问题定位

    今天早上灵光一闪,我把测试打包的 abc.apk 下载下来,修改后缀名为 abc.zip ,然后解压
    真相浮现了,我在 libarmeabi-v7alibx86libx86_64 里面全都没有找到 libjingle_peerconnection_so.so!!!
    后来才知道只是 在 Android Studio(AS) 上面提交 so 库文件的一个坑。
    我的 AS 用的是暗色调的主题,所以文件 libjingle_peerconnection_so.so 没有提交到 SVN 上的颜色是暗黄色,而不是正常提交 SVN 显示的白色。

    问题解决

    最后,我在 AS 里面右击Show In Explorer,然后借助 TortoiseSVN 把文件提交到 SVN 了。然后让测试重新打包

  • 相关阅读:
    Symfony Component HttpKernel Exception AccessDeniedHttpException This action is unauthorized.
    AngularJs ng-repeat中使用ng-model
    JS数组排序sort()方法同时按照两种方式排序的用法
    MongoDB
    Node基本学习
    小程序 五 组件使用
    小程序 四 事件类型
    小程序 二 template模板(代码复用)
    小程序 wxs 脚本语言(2种使用方式)
    小程序初体验 wx:for
  • 原文地址:https://www.cnblogs.com/kendoziyu/p/java-lang-unsatisfiedlinkerror-native-method-not-found-org-webrtc-peerconnection.html
Copyright © 2011-2022 走看看