背景介绍

最近在使用 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 ,然后解压

真相浮现了,我在 \lib\armeabi-v7a\lib\x86\lib\x86_64 里面全都没有找到 libjingle_peerconnection_so.so!!!

后来才知道只是 在 Android Studio(AS) 上面提交 so 库文件的一个坑。

我的 AS 用的是暗色调的主题,所以文件 libjingle_peerconnection_so.so 没有提交到 SVN 上的颜色是暗黄色,而不是正常提交 SVN 显示的白色。

问题解决

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

最新文章

  1. CSS 3 学习——transform 3D转换渲染
  2. ABP源码分析十四:Entity的设计
  3. Android-----test----monkeyrunner
  4. c++面试题总结(1)
  5. 自定义View(6)paint设置图图层重叠时的显示方式,包含清空canvas
  6. java之内部类与匿名内部类
  7. android 利用数字证书对程序签名
  8. [置顶]VC2013的一个bug
  9. WinSock 异步I/O模型 转载
  10. 快速排序java
  11. macOS 安装 Java (Homebrew)
  12. ng-app&amp;data-ng-app
  13. 剑指offer例题分享--7
  14. Servlet简单概念和开发小总结
  15. C#使用ES
  16. 小试XML实体注入攻击
  17. 37.Spring-事务控制.md
  18. Centos7下chkconfig设置MySql自动启动
  19. [Python] pip 简明指南
  20. [转]让linux的coredump文件

热门文章

  1. 02.Hamcrest和TestSuite介绍
  2. 网络虚拟化之linux虚拟网络基础
  3. 微信小程序-超出部分显示省略号(单行与多行)
  4. js语法基础入门(1.2)
  5. PHP用PHPExcel导出有多个工作表的Excel表格(thinkPHP3.2.3)
  6. java语言进阶(二)_Collection_泛型
  7. FocusBI:《商业智能7B理论模型》创造者
  8. 不懂SpringApplication生命周期事件?那就等于不会Spring Boot嘛
  9. JS中同步和异步
  10. STL测试3)优先级队列实现二叉堆