自行编译 tg 遇到问题

2021-10-05 15:44:26 +08:00
 RichardY

我想自行编译 android 版 tg,但一直遇到一个错误,换了电脑也是如此,实在不知道怎么解决。

我的步骤:

  1. 先从 https://github.com/DrKLO/Telegram 把代码 clone 下来,试过直接 clone,也试过

    git clone --recursive https://github.com/DrKLO/Telegram.git

  2. 本地 Android Studio 在 SDK Manager 添加了 Android SDK Platform 31

  1. TMessagesProj\config 下放入我自己的 release.keystore,在 gradle.properties 中修改了 key 的密码

接下来尝试 sync gradle,就出现如下错误:

Could not resolve all dependencies for configuration ':TMessagesProj:afatDebugRuntimeClasspath'.
Could not create task ':TMessagesProj:minifyAfatHAWithR8'.
Cannot query the value of this provider because it has no value available.

我检查了 TMessagesProj\build.gradle 中的配置如下:

android {
    compileSdkVersion 31
    buildToolsVersion '31.0.0'
    ndkVersion "21.4.7075529"
    ...
}

就不清楚为什么 gradle 配置不了。有没有哪位大哥能帮忙看看?

谢谢

7429 次点击
所在节点    Android
11 条回复
hly9469
2021-10-05 15:47:04 +08:00
ndk 安装了?
RichardY
2021-10-05 15:53:44 +08:00
@hly9469 装了的
RichardY
2021-10-05 15:54:58 +08:00
hly9469
2021-10-05 15:58:16 +08:00
@RichardY 下载跟 buildToolsVersion 一致的 sdk,或者把它改成跟你本地安装的版本一致,小版本也要一样
RichardY
2021-10-05 16:08:12 +08:00
@hly9469 我的 sdk 版本是 31,revision 1 (图放帖子里了)
跟 buildToolsVersion '31.0.0'不符吗?
dontmind
2021-10-05 21:59:14 +08:00
直接用 android studio 打开是不能 build 的。
Dockerfile 里有更动 android sdk 的动作。
khttps://github.com/DrKLO/Telegram/blob/master/Dockerfile#L25
RichardY
2021-10-05 23:35:35 +08:00
@dontmind 我理解的 studio 不是从 sdk manager 这里下载了这些内容吗?需要都按他操作一遍? 25 行那里我看它好像原本 sdk 是 30 的,现在升级到 31,但我本来就是 31 的
dontmind
2021-10-06 00:59:29 +08:00
@RichardY
25 行是從 sdk 30 複製少了的檔案至 sdk 31 。
https://issuetracker.google.com/issues/190734097
sdk 31 + android gradle plugin < 7 <
dontmind
2021-10-06 01:03:27 +08:00
这是 sdk 和 android gradle plugin 版本不相容。



sdk 31 + android gradle plugin < 7 的話是不能编译。

你可以降低 sdk 版本, 或是更新 android gradle plugin/android studio/, 或是运行 25-26 行
RichardY
2021-10-06 17:51:07 +08:00
@dontmind 谢谢按你说的方法解决了那个报错,现在尝试 build 。
sorcerer
2021-11-20 21:33:42 +08:00
老哥,你成功编译了么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/805962

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX