为 webRTC 加载本机库时应用程序崩溃
Posted
技术标签:
【中文标题】为 webRTC 加载本机库时应用程序崩溃【英文标题】:App crashing on loading native library for webRTC 【发布时间】:2015-08-30 08:11:33 【问题描述】:当我在 jniLibs 中为所有架构添加本机库(即 libjingle_peerconnection_so.so )时,我的应用程序崩溃了。
以下是导致应用重启崩溃的堆栈跟踪提取。
W/System.err(11538): java.lang.ClassNotFoundException: Didn't find class "org.webrtc.DataChannel$Buffer" on path: DexPathList[[zip file "/data/app/com.sample.app-2/base.apk"],nativeLibraryDirectories=[/data/app/com.sample.app-2/lib/x86, /vendor/lib, /system/lib]]
谁能告诉我我在这里做错了什么?
【问题讨论】:
【参考方案1】:我终于找到了解决方案,Proguard 干扰了我的 webrtc 文件。在 proguard 设置中添加了保留文件。
【讨论】:
【参考方案2】:这条线解决了我的问题。 在 progaurd 规则文件中添加以下行。
-keep class org.webrtc.** *;
【讨论】:
这行得通!参考可以在这里找到:github.com/RWebRTC/WebRTC-android-Learn/blob/master/RAppRTC/app/…以上是关于为 webRTC 加载本机库时应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章
不变违规:不变违规:尝试从未标记为“本机”的节点获取本机标记 - 反应导航更新导致崩溃
三星 Galaxy J1 4G 上的 webRTC 应用程序崩溃