当前位置: 首页 > news >正文

Telegram tdlib客户端Java本地编译打包

最近在做Telegram相关的需求,需要收发Telegram的信息,所以需要做对接。本来想在网上找一个现成的改一下,奈何本版太老,所以只能自己打包最新的。

一、tdlib是什么?

TDLib(Telegram 数据库库)是一个用于构建 Telegram 客户端的跨平台库。它几乎可以从任何编程语言轻松使用。
TDLib有很多优点。值得注意的是:

  1. TDLib跨平台:可在 Android、iOS、Windows、macOS、Linux、FreeBSD、OpenBSD、NetBSD、illumos、Windows Phone、WebAssembly、watchOS、tvOS、visionOS、Tizen、Cygwin 上使用。它还应该在其他 *nix 系统上运行,无论是否付出最小的努力。
  2. 多语言:可以轻松地与任何能够执行 C 函数的编程语言一起使用。此外,它已经具有本机 Java(使用 )绑定和 .NET(使用 和 )绑定。TDLibJNIC++/CLIC++/CX
  3. 易于使用:负责所有网络实施细节、加密和本地数据存储。
    高性能:在 Telegram Bot API 中,每个实例同时处理超过 25000 个活跃的机器人。
    有据可查:所有 API 方法和公共接口都有完整文档。
  4. 一致:保证所有更新都按正确的顺序交付。
  5. 可靠:在缓慢且不可靠的互联网连接上保持稳定。
  6. 安全:所有本地数据都使用用户提供的加密密钥进行加密。
  7. 异步:请求不要互相阻止或其他任何内容,响应在可用时发送。

二、打包过程

1. 安装C++环境
下载Visual Studio Installer,一直进安装,需要安装注意的如图所示:
注明:语言包必须勾选英文
在这里插入图片描述在这里插入图片描述
安装完成就可以了

2. 开始编译
我现在项目存放目录是F:\idea\telegram-diy\tdlib-code
进入F:\idea\telegram-diy\tdlib-code下,执行git克隆

git clone https://github.com/tdlib/td.git

这个时候在F:\idea\telegram-diy\tdlib-code下面就会出现一个td文件
在这里插入图片描述
进入td文件夹
执行以下命令

git checkout v1.6.0
git clone https://github.com/Microsoft/vcpkg.git

执行完成会出现vcpkg
在这里插入图片描述
进入vcpkg文件夹
执行以下命令

./bootstrap-vcpkg.bat
./vcpkg.exe install openssl:x64-windows zlib:x64-windows

安装成功,还需要安装一个gperf。
先安装https://www.msys2.org/,按照官方下载安装,执行到第5步即可。我安装在D:\zj\gperf目录下。
在这里插入图片描述
然后在打开的命令提示符执行如下命令

 pacman -S mingw-w64-x86_64-gperf

安装成功,就会在msys2安装目录下的D:\zj\gperf\mingw64\bin下会有gperf.exe表示成功
在这里插入图片描述
回到td目录中
在这里插入图片描述
在F:\idea\telegram-diy\tdlib-code\td中创建build打包目录
进入build目录,打开命令提示符执行如下命令

cmake -A x64 -DCMAKE_INSTALL_PREFIX:PATH=../example/java/td -DTD_ENABLE_JNI=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=../vcpkg/scripts/buildsystems/vcpkg.cmake -DGPERF_EXECUTABLE=D:\zj\gperf\mingw64\bin\gperf.exe ..

注意:最后的DGPERF_EXECUTABLE指向的D:\zj\gperf\mingw64\bin\gperf.exe就是你刚刚下载安装的gperf.exe。
执行成功继续在build中执行命令

cmake --build . --target install --config Release

初始化成功
继续下一步
回到td目录,进入example目录进入java目录,创建一个build文件夹。
在这里插入图片描述
执行以下命令

cmake -A x64 -DCMAKE_INSTALL_PREFIX=F:/idea/telegram-diy/tdlib-code/td/example/java/org/drinkless/tdlib -DCMAKE_TOOLCHAIN_FILE=F:/idea/telegram-diy/tdlib-code/td/vcpkg/scripts/buildsystems/vcpkg.cmake -DTd_DIR=F:/idea/telegram-diy/tdlib-code/td/example/java/td/lib/cmake/Td ..

注意看我命令里面指向的文件,你自己找到并且改成你们自己的路径
编译成功然后执行以下命令

cmake --build . --target install --config Release

编译成功

如何判断是否成功
来到我的编译目录
F:\idea\telegram-diy\tdlib-code\td\example\java\org\drinkless\tdlib\bin
实际在你克隆的目录下的example\java\org\drinkless\tdlib\bin
在这里插入图片描述
其他的Dll在如下目录
F:\idea\telegram-diy\tdlib-code\td\vcpkg\installed\x64-windows\bin
在这里插入图片描述

至此Telegram tdlib客户端Java版本编译成功。

http://www.dtcms.com/a/525695.html

相关文章:

  • 上海做网站的公司是什么桂林象鼻山景区介绍
  • 阿里云渠道商:OSS与传统存储系统的差异在哪里?
  • Redis事务和Lua脚本对比
  • 广州微信网站建设报价表宝塔建站系统
  • Git 日常
  • 2. C语言 多级指针
  • 素材下载网站模板深圳企业网络推广运营技巧
  • 前沿技术借鉴研讨-2025.10.21(数据缺失填补/提取信号/分类)
  • StarRocks笔记
  • 便捷商铺源码聊天交友定制程序开发源码二开
  • STM32的四种延时方法
  • 手机网站怎么制作织梦网站备份几种方法
  • 网站设计答辩ppt大宗贸易平台
  • 【大模型与OCR】配合应用的示例demo
  • 门户网站内容建设岗位职责国家单位网站建设要多久
  • 辽宁自适应网站建设公司ps做景观有哪些素材网站
  • 服务器网站过多对排名建网站空间
  • 福州官网建站厂自己建网站还是淘宝
  • 空对象模式(Null Object Pattern)
  • 需求资产管理:从混沌到有序的数字化变革之路
  • dedecms图片网站模板开发做网站公司
  • 曲阜官方建设局网站安全之要
  • 【NestJS】依赖注入(DI) 的模块系统、`imports`、`@Module`、`providers` 之间的关系彻底搞清楚
  • Vibe Coding 小白上手指南
  • 洞察:当前Crypto大环境正需要Solana这种工程化实用主义
  • 做空机构的网站拌合站建站方案
  • wordpress搭建教育网站三只松鼠网络营销案例分析
  • FongMi 蜂蜜影视播放器TVBOX衍生版 V4.6.2支持安卓手机和电视附100+配置地址接口
  • 免费自助建站哪个好上海短视频制作
  • 北京好用的h5建站一般建站公司用什么cms