gpt4 book ai didi

android - 如何编译 Telegram jni文件夹

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:44 24 4
gpt4 key购买 nike

我正在尝试编译 Telegram 源代码中的 jni 文件夹 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下载 Cygwin并使用它,但再次出现类似 ndk-build 的错误

$ndkbuild

[armeabi] SharedLibrary : 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 -no-canonical-prefixes -Wl,--no-undefined -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:/Workspace/Android/ Telegram-master-1-12-2016/Telegram-master/TMessagesProj//obj/local/armeabi/libtm essages.15.so, ...) failed

make (e=87): The parameter is incorrect.

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

如何解决这个问题?

最佳答案

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

现在让我们开始:非常简单。

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

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

enter image description here

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

enter image description here

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

enter image description here

5- 只需执行 ndk-build 命令

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

build 并享受乐趣! (记得用您的应用程序 ID 和 app_hash 填写 org.telegram.messenger.BuildVars 类中的变量。read more here)

关于android - 如何编译 Telegram jni文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34745704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com