如何编译telegram jni文件夹

2024-04-27

我正在尝试编译电报源代码中的 jni 文件夹github.com/DrKLO/Telegram/ http://github.com/DrKLO/Telegram/与NDK

但是当我在 ndk 文件夹中的 cmd 中编写 ndk-build 时 喜欢:

F:\ndk\android-ndk-r10>ndk-build -C F:\Workspace\Android\Telegram-master-1-12-2016\Telegram-master\TMessagesProj\jni

我收到一些错误并且未创建 libs 文件夹

当我将 ndk 路径添加到 android studio 并手动添加 jni 文件夹时,android studio 说找不到一些头文件

按照此question https://stackoverflow.com/questions/33765946/android-telegram-app-java-lang-unsatisfiedlinkerror-no-implementation-found下载Cygwin https://www.cygwin.com/并使用它,但再次出现此错误,如 ndk-build

$ndkbuild

[armeabi] 共享库:libtmessages.15.so

process_begin: CreateProcess(........,

F:/ndk/android-ndk-r10/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi /thumb/libgnustl_static.a -lgcc -无规范前缀 -Wl,--无未定义 -Wl,-z ,noexecstack -Wl,-z,relro -Wl,-z,now -LF:/ndk/android-ndk-r10/platforms/android- 9/arch-arm/usr/lib -ljnigraphics -llog -lz -ldl -lc -lm -o F:/工作区/Android/ Telegram-master-1-12-2016/Telegram-master/TMessagesProj//obj/local/armeabi/libtm essages.15.so,...)失败

make (e=87): 参数不正确。

make.exe: *** [F:/Workspace/Android/Telegram-master-1-12-2016/Telegram-master/TMessagesProj//obj/local/armeabi/libtmessages.15.so] 错误 87

如何解决这个问题?


重要更新问题: 在 3.18 版本中,下载 telegram 源项目后,如果您转到 jni 文件夹,您会发现一个名为 libtgvoip 的空文件夹,用所需文件填充它: 1-从 githum 转到 telegram 源,转到 jni 文件夹,然后单击 libtgvoip @ eb813e1 文件夹(@ 表示这是一个引用文件夹)。 2-也下载该库! 3-将其内容复制到前面讨论的空文件夹中!

现在让我们开始: 这很容易。

1-将 NDK 目录添加到环境 PATH 变量中。

2-打开 Android.mk 并添加以下行: LOCAL_SHORT_COMMANDS := true

3-打开Application.mk并添加以下行: APP_SHORT_COMMANDS := 真

4-以管理员身份打开命令提示符并导航到 jni 文件夹,如下所示: (重要提示:在最新版本的 telegram 中,您应该导航到 jni 父文件夹而不是 jni 文件夹)

5-只需执行ndk-build命令

然后 ndk 将开始构建 .so 文件:

等到它完成任务,也许会显示一些警告,但并不重要。最后,您将在 obj 目录中拥有所有共享库(.so 文件): (重要:在最新版本的 telegram 中,.so 文件将在 lib 文件夹中创建,并且一切都已准备好构建)

然后转到每个文件夹并删除除 libtmessages.22.so 之外的所有内容。 创建一个 libs 文件夹并将这三个目录复制到其中:

建造并享受乐趣! (请记住使用您的应用程序 ID 和 app_hash 填写 org.telegram.messenger.BuildVars 类中的变量。在这里阅读更多内容 https://github.com/DrKLO/Telegram)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何编译telegram jni文件夹 的相关文章

随机推荐