Android Studio で webrtc を使用しようとしています。ファイルlibjingle_peerconnection_so.soは、フォルダーsrc/main/jniLibs/arneabi-v7a に配置されます。しかし、Javaファイルを入れると:
import org.webrtc.DataChannel;
「シンボルwebrtcを解決できません」を解決できないことがわかります。どんな助けでも感謝します。
Android Studio で webrtc を使用しようとしています。ファイルlibjingle_peerconnection_so.soは、フォルダーsrc/main/jniLibs/arneabi-v7a に配置されます。しかし、Javaファイルを入れると:
import org.webrtc.DataChannel;
「シンボルwebrtcを解決できません」を解決できないことがわかります。どんな助けでも感謝します。
まず、ar n eabi-v7aではなく、ar m eabi-v7aですが、それだけでは問題は解決しません:)
あなたは難しい道を進んでいるので、ここにちょっとした理論があります:
ファイルlibjingle_peerconnection_so.so自体は、Java プログラムで WebRTC を使用するには十分ではありません。少なくとも、ネイティブ WebRTC コードを操作するために必要なすべての Java クラスを提供する WebRTC コア用の Java JNI ラッパーが必要です。デフォルトのラッパーは通常libjingle_peerconnection.jarで、これを「src」フォルダーと同じレベルの「libs」フォルダーに配置する必要があります。したがって、プロジェクト ツリーには次のファイルが必要です。
また、アプリで .jar をビルドするようにビルド システムに指示する必要があります。Android Studio では通常 Gradle であるため、コンパイル ファイル ('libs/libjingle_peerconnection.jar')を依存関係に追加するだけです。
しかし、簡単な方法もあります。pristine.io の善良な人たちは、定期的に Android 用の WebRTC をビルドし、いくつかのビルド済みバージョンを Maven リポジトリーに公開しています (こちらを参照)。したがって、 compile 'io.pristine:libjingle:10839@aar'を Gradle の依存関係に追加するだけです。.so ファイルなどを追加する必要はありません。これに関する彼らの記事は次のとおりです(古いWebRTCバージョンに注意してください。たとえば、10839を使用できます)