4

Android Studio で webrtc を使用しようとしています。ファイルlibjingle_peerconnection_so.soは、フォルダーsrc/main/jniLibs/arneabi-v7a に配置されます。しかし、Javaファイルを入れると:

import org.webrtc.DataChannel;

「シンボルwebrtcを解決できません」を解決できないことがわかります。どんな助けでも感謝します。

4

1 に答える 1

2

まず、ar n eabi-v7aではなく、ar m eabi-v7aですが、それだけでは問題は解決しません:)

あなたは難しい道を進んでいるので、ここにちょっとした理論があります:

ファイルlibjingle_peerconnection_so.so自体は、Java プログラムで WebRTC を使用するには十分ではありません。少なくとも、ネイティブ WebRTC コードを操作するために必要なすべての Java クラスを提供する WebRTC コア用の Java JNI ラッパーが必要です。デフォルトのラッパーは通常libjingle_peerconnection.jarで、これを「src」フォルダーと同じレベルの「libs」フォルダーに配置する必要があります。したがって、プロジェクト ツリーには次のファイルが必要です。

  • ソース/メイン/jniLibs/armeabi-v7a
  • libs/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 に答える