java - UnsatisfiedLinkError:在 Telegram 项目中出现此错误

标签 java android-studio unsatisfiedlinkerror telegram

<分区>

我从 GitHub 下载了 Telegram 项目并导入到 Android Studio。 gradle 的构建没有任何错误,但是当我运行它时,出现了 UnsatisfiedLinkError 错误。

来自 logCat:

FATAL EXCEPTION: main Process: org.telegram.messenger.beta, PID: 11299 java.lang.UnsatisfiedLinkError: No implementation found for void org.telegram.tgnet.ConnectionsManager.native_setJava(boolean) (tried Java_org_telegram_tgnet_ConnectionsManager_native_1setJava and Java_org_telegram_tgnet_ConnectionsManager_native_1setJava__Z) at org.telegram.tgnet.ConnectionsManager.native_setJava(Native Method) at org.telegram.messenger.ApplicationLoader.onCreate(ApplicationLoader.java:278) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1035) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4638) at android.app.ActivityThread.access$1500(ActivityThread.java:155) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5343) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)

错误指向的行是:

ConnectionsManager.native_setJava(android.os.Build.VERSION.SDK_INT == 14 || android.os.Build.VERSION.SDK_INT == 15);

卡在这里2天了。帮帮我。提前致谢。

最佳答案

终于找到解决办法了! 该项目有 C 和 CPP 文件,这些文件在设备中运行时需要 .so 扩展名中的库。最近他们删除了在提交部分中添加的那些文件。这就是为什么我们在运行。所以我们使用 NDK 和 Cygwin 运行了这些 C 和 CPP 代码。

下载NDK: http://developer.android.com/intl/es/ndk/downloads/index.html

下载 Cygwin: https://www.cygwin.com/

删除预建库。所有库的源代码(并且一直是)在这里可用:https://github.com/DrKLO/Telegram/tree/master/TMessagesProj/jni

关于java - UnsatisfiedLinkError:在 Telegram 项目中出现此错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34507209/

相关文章:

java.lang.UnsatisfiedLinkError 使用 native 接口(interface)

eclipse - Java 和 Eclipse - 32 与 64 位

java - 什么是抑制异常?

java - 尝试添加库后出错

android - 以下模块已从 Gradle 结构中删除

java - JNI 的不满意链接错误

java - 在集合中将 "contains"替换为 "add"吗?

java - 未从资源包中获取 Spring 验证消息

android - eclipse 或 android studio 为 play store 签名的 apk 之间的区别

java - 将 .so 文件导入 android studio 时出错