2

私は、ビデオ チャットの機能を持つ 1 つのモジュールに取り組んでいます。このために私は Webrtc を使用しています。私はこれを行うのに非常に近いですが、電話中に1つの問題が発生しています.

サーバーは常に戻ります

{"params": {"messages": []}, "result": "FULL"}

この後、次のような別の問題が発生しています。

java.lang.UnsatisfiedLinkError: Native method not found: org.webrtc.PeerConnectionFactory.initializeFieldTrials:(Ljava/lang/String;)V

最初に、ジングルのネイティブ ライブラリに問題がありました。jniディレクトリにも統合しました。また、peerconnection_jni.cc ファイルを更新しましたが、同じエラーが発生しました。

peerconnection_jni.cc ファイルも添付できます (必要な場合)。

私もグーグルで検索しました。しかし、実際の出力は得られません。誰でも私を助けてもらえますか?

アップデート :

これは私のpeerconnection_jni.ccのコードです

extern "C" {
    JNIEXPORT void JNICALL Java_org_webrtc_PeerConnectionFactory_initializeFieldTrials
    (JNIEnv* evn,jclass _class,jstring j_trials_init_string) {
        field_trials_init_string = NULL;
        if (j_trials_init_string != NULL) {
            const char* init_string =
                    jni->GetStringUTFChars(j_trials_init_string, NULL);
            int init_string_length = jni->GetStringUTFLength(j_trials_init_string);
            field_trials_init_string = new char[init_string_length + 1];
            rtc::strcpyn(field_trials_init_string, init_string_length + 1, init_string);
            jni->ReleaseStringUTFChars(j_trials_init_string, init_string);
            LOG(LS_INFO) << "initializeFieldTrials: " << field_trials_init_string;
        }
        webrtc::field_trial::InitFieldTrialsFromString(field_trials_init_string);
    }
}

これは私の Logcat 出力です。

04-06 19:20:57.041: E/AppRTCDemoActivity(26645): Fatal error: Native method not found: org.webrtc.PeerConnectionFactory.initializeFieldTrials:(Ljava/lang/String;)V
04-06 19:20:57.041: E/AppRTCDemoActivity(26645): java.lang.UnsatisfiedLinkError: Native method not found: org.webrtc.PeerConnectionFactory.initializeFieldTrials:(Ljava/lang/String;)V
04-06 19:20:57.041: E/AppRTCDemoActivity(26645):    at org.webrtc.PeerConnectionFactory.initializeFieldTrials(Native Method)
04-06 19:20:57.041: E/AppRTCDemoActivity(26645):    at org.appspot.apprtc.PeerConnectionClient.createPeerConnectionFactoryInternal(PeerConnectionClient.java:268)
04-06 19:20:57.041: E/AppRTCDemoActivity(26645):    at org.appspot.apprtc.PeerConnectionClient.access$18(PeerConnectionClient.java:257)
04-06 19:20:57.041: E/AppRTCDemoActivity(26645):    at org.appspot.apprtc.PeerConnectionClient$1.run(PeerConnectionClient.java:222)
04-06 19:20:57.041: E/AppRTCDemoActivity(26645):    at android.os.Handler.handleCallback(Handler.java:725)
04-06 19:20:57.041: E/AppRTCDemoActivity(26645):    at android.os.Handler.dispatchMessage(Handler.java:92)
04-06 19:20:57.041: E/AppRTCDemoActivity(26645):    at android.os.Looper.loop(Looper.java:137)
04-06 19:20:57.041: E/AppRTCDemoActivity(26645):    at org.appspot.apprtc.util.LooperExecutor.run(LooperExecutor.java:57)
4

1 に答える 1

0

オブジェクトを初期化しようとしているようです。
だから、あなたのメソッドは静的ではないと思います。
2 番目のパラメーターは、オブジェクトのクラスではなく、メソッドを呼び出すオブジェクトである必要があります。

JNIEXPORT void JNICALL Java_org_webrtc_PeerConnectionFactory_initializeFieldTrials
    (JNIEnv* evn,    jobject _thiz     ,jstring j_trials_init_string) 
于 2015-05-02T11:42:06.017 に答える