我想自行编译 android 版 tg,但一直遇到一个错误,换了电脑也是如此,实在不知道怎么解决。
我的步骤:
先从 https://github.com/DrKLO/Telegram 把代码 clone 下来,试过直接 clone,也试过
git clone --recursive https://github.com/DrKLO/Telegram.git
本地 Android Studio 在 SDK Manager 添加了 Android SDK Platform 31
接下来尝试 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 配置不了。有没有哪位大哥能帮忙看看?
谢谢
1
hly9469 2021-10-05 15:47:04 +08:00 via iPhone
ndk 安装了?
|
3
RichardY OP |
4
hly9469 2021-10-05 15:58:16 +08:00 via iPhone
@RichardY 下载跟 buildToolsVersion 一致的 sdk,或者把它改成跟你本地安装的版本一致,小版本也要一样
|
5
RichardY OP @hly9469 我的 sdk 版本是 31,revision 1 (图放帖子里了)
跟 buildToolsVersion '31.0.0'不符吗? |
6
dontmind 2021-10-05 21:59:14 +08:00
直接用 android studio 打开是不能 build 的。
Dockerfile 里有更动 android sdk 的动作。 khttps://github.com/DrKLO/Telegram/blob/master/Dockerfile#L25 |
7
RichardY OP @dontmind 我理解的 studio 不是从 sdk manager 这里下载了这些内容吗?需要都按他操作一遍? 25 行那里我看它好像原本 sdk 是 30 的,现在升级到 31,但我本来就是 31 的
|
8
dontmind 2021-10-06 00:59:29 +08:00 via Android
@RichardY
25 行是從 sdk 30 複製少了的檔案至 sdk 31 。 https://issuetracker.google.com/issues/190734097 sdk 31 + android gradle plugin < 7 < |
9
dontmind 2021-10-06 01:03:27 +08:00 via Android 1
这是 sdk 和 android gradle plugin 版本不相容。
sdk 31 + android gradle plugin < 7 的話是不能编译。 你可以降低 sdk 版本, 或是更新 android gradle plugin/android studio/, 或是运行 25-26 行 |
11
sorcerer 2021-11-20 21:33:42 +08:00
老哥,你成功编译了么
|