4

我正在尝试在 Android Studio 中使用 webrtc。文件libjingle_peerconnection_so.so被放入文件夹src/main/jniLibs/arneabi-v7a。但是当我放入一个Java文件时:

import org.webrtc.DataChannel;

它告诉我无法解析“无法解析符号 webrtc ”。任何帮助表示赞赏。

4

1 回答 1

2

首先,它的 ar m eabi-v7a,而不是 ar n eabi-v7a,但仅此一项并不能解决您的问题 :)

你走得很艰难,所以这里有一个小理论:

文件libjingle_peerconnection_so.so本身不足以在 Java 程序中使用 WebRTC。至少,您需要 WebRTC 核心的 Java JNI 包装器,它为您提供所有必要的 Java 类来使用本机 WebRTC 代码。默认包装器通常是libjingle_peerconnection.jar,您应该将它放在与“src”文件夹相同级别的“libs”文件夹中。所以,你的项目树应该有这些文件:

  • src/main/jniLibs/armeabi-v7a
  • 库/libjingle_peerconnection.jar

您还需要告诉您的构建系统在您的应用程序中构建 .jar。在 Android Studio 中,它通常是 Gradle,因此只需将编译文件('libs/libjingle_peerconnection.jar')添加到您的依赖项中。

但也有简单的方法!来自 pristine.io 的好人定期为 Android 构建 WebRTC,并将一些预构建版本发布到 Maven 存储库(参见此处)。因此,您可以将compile 'io.pristine:libjingle:10839@aar'添加到 Gradle 依赖项中,然后继续。无需添加 .so 文件等等。是他们的文章(请注意过时的 WebRTC 版本,例如,您可以使用 10839)

于 2015-12-08T11:10:08.100 回答