Как бороться с UnsatisfiedLinkError?
Я разрабатываю базовое приложение SIP, чтобы делать и принимать звонки, для этого я провел анализ проекта с открытым исходным кодом Sipdroid. в дополнение к этому я сделал это приложение для поддержки кодека g729. приложение работает нормально, но когда я изменил имя пакета приложения, я получаю сообщение об ошибке с этим новым кодеком. в то время как с другими кодеками приложение работает нормально. Вот мой logcat ошибки. Вот я прикрепил свои java файлы
G729.java
Codec.java
Codecs.java
g729_jni.cpp
06-28 08:12:29.633: E/AndroidRuntime(712): java.lang.UnsatisfiedLinkError: open
06-28 08:12:29.633: E/AndroidRuntime(712): at org.sipchat.codecs.G729.open(Native Method)
06-28 08:12:29.633: E/AndroidRuntime(712): at org.sipchat.codecs.G729.init(G729.java:48)
06-28 08:12:29.633: E/AndroidRuntime(712): at org.sipchat.codecs.Codecs$CodecSettings.onPreferenceTreeClick(Codecs.java:368)
06-28 08:12:29.633: E/AndroidRuntime(712): at android.preference.Preference.performClick(Preference.java:820)
06-28 08:12:29.633: E/AndroidRuntime(712): at android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:190)
06-28 08:12:29.633: E/AndroidRuntime(712): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
06-28 08:12:29.633: E/AndroidRuntime(712): at android.widget.ListView.performItemClick(ListView.java:3513)
06-28 08:12:29.633: E/AndroidRuntime(712): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
06-28 08:12:29.633: E/AndroidRuntime(712): at android.os.Handler.handleCallback(Handler.java:587)
06-28 08:12:29.633: E/AndroidRuntime(712): at android.os.Handler.dispatchMessage(Handler.java:92)
06-28 08:12:29.633: E/AndroidRuntime(712): at android.os.Looper.loop(Looper.java:123)
06-28 08:12:29.633: E/AndroidRuntime(712): at android.app.ActivityThread.main(ActivityThread.java:3683)
06-28 08:12:29.633: E/AndroidRuntime(712): at java.lang.reflect.Method.invokeNative(Native Method)
06-28 08:12:29.633: E/AndroidRuntime(712): at java.lang.reflect.Method.invoke(Method.java:507)
06-28 08:12:29.633: E/AndroidRuntime(712): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-28 08:12:29.633: E/AndroidRuntime(712): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-28 08:12:29.633: E/AndroidRuntime(712): at dalvik.system.NativeStart.main(Native Method)
У меня есть файл.so для поддержки кодека g729, но после изменения имени пакета этот файл.so не работает. Потому что этот файл.so создается с использованием другого имени пакета. поэтому у меня должен быть исходный файл, и мне нужно снова скомпилировать его, чтобы он работал. как это сделать?
если у кого-то есть идеи по этому поводу, пожалуйста, дайте мне несколько советов по поводу этой ошибки. как бороться с этой ошибкой?
Спасибо
1 ответ
Как я столкнулся с той же проблемой... это не совпадает с вашим кодеком JNi или whatevr с вашим реальным кодом Java