2015-04-06 5 views
2

Я работаю над одним модулем, имеющим функциональность видеочата. для этого я использую Webrtc. Я очень близок к этому, но во время звонка я получаю одну проблему.java.lang.UnsatisfiedLinkError: родной метод не найден: org.webrtc.PeerConnectionFactory.initializeFieldTrials: (Ljava/lang/String;) V

сервер всегда возвращает

{"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 тоже (если требуется).

Я тоже искал в Google. но не получать фактический результат. Кто-нибудь может мне помочь, пожалуйста?

UPDATE:

Это код моего 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) 
+0

откуда ваш призывающий initializeFieldTrials метода() ?? и вы загружаете собственную библиотеку перед вызовом этого метода? – Saritha

+0

Я вызываю метод initializeFieldTrials из метода PeerConnectionClient.java> createPeerConnectionFactoryInternal(). и да, я загружаю эту библиотеку, используя «static {System.loadLibrary (« jingle_peerconnection_so »);}» в верхней части этого класса. – Ajay

+0

okay..if при использовании метода JNI, тогда это имя метода должно содержать некоторые соглашения об именах. Вы использовали это соглашение об именах? и в каком направлении вы проходите этот метод? Я думаю, струна ... ладно? – Saritha

ответ

0

Похоже, вы пытаетесь инициализировать объект.
Итак, я думаю, что ваш метод НЕ статичен.
Вам нужен второй параметр будет объектом, который вызывает метод, а не класс объекта:

JNIEXPORT void JNICALL Java_org_webrtc_PeerConnectionFactory_initializeFieldTrials 
    (JNIEnv* evn, jobject _thiz  ,jstring j_trials_init_string) 

 Смежные вопросы

  • Нет связанных вопросов^_^