【问题标题】:Serious problam for compile Telegram-master "error: redefinition of 'struct r_debug'"编译 Telegram-master 的严重问题“错误:重新定义 'struct r_debug'”
【发布时间】:2017-12-08 23:32:46
【问题描述】:

我想打开带有 Android Studio 2.3.3 的 Telegram-master,但我看到了一些不同的错误。我已经研究了互联网和这个网站上的大部分技巧和曲目。首先,我从 Git 下载了 Telegram-master,我得到了这个错误:

"执行进程 E:\ndk-bundle\ndk-build.cmd 时出错 参数 {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\telegram\Telegram-master\TMessagesProj\jni\Android.mk NDK_APPLICATION_MK=C:\telegram\Telegram-master\TMessagesProj\jni\Application.mk APP_ABI=x86 NDK_ALL_ABIS=x86 NDK_DEBUG=1 APP_PLATFORM=android-23 NDK_OUT=C:/telegram/Telegram-master/TMessagesProj/build/intermediates/ndkBuild/x86_SDK23/debug/obj NDK_LIBS_OUT=C:\telegram\Telegram-master\TMessagesProj\build\intermediates\ndkBuild\x86_SDK23\debug\lib NDK_APPLICATION_MK: =jni/Application.mk APP_PLATFORM:=android-14 APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n} Android NDK: 错误:C:\telegram\Telegram-master\TMessagesProj\jni\Android.mk:WebRtcAec: LOCAL_SRC_FILES 指向一个丢失的文件 Android NDK:检查 C:/telegram/Telegram-master/TMessagesProj/jni/./libtgvoip/external/libWebRtcAec_android_x86.a 存在或其路径正确 process_begin: CreateProcess(NULL, "", ...) 失败。构建命令失败。”

然后我最终找到了位于 Git 中的 Telegram master.zip,但它没有“libtgvoip 文件”而且它是空的!!所以我再次搜索并得到它并自己将其添加到我的 Telegram-master 目录中。我还在 Firebase 上创建了与我的 Telegram-master 项目具有相同包名的 google-services.json 文件。它是 :org.telegram.messenger.beta ,经过所有步骤后我得到了这个错误:

"信息:Gradle 任务 [:TMessagesProj:generateArmv7DebugSources, :TMessagesProj:prepareArmv7DebugUnitTestDependencies, :TMessagesProj:mockableAndroidJar, :TMessagesProj:generateArmv7DebugAndroidTestSources, :TMessagesProj:compileArmv7DebugSources, :TMessagesProj:compileArmv7DebugUnitTestSources, :TMessagesProj:compileArmv7DebugAndroidTestSources] 信息:(未知)包含在文件中 信息:(未知) 信息:(未知)错误:错误:重新定义'struct r_debug' 信息:(未知)在文件中包含错误:错误:重新定义 'struct link_map' 错误:错误:重新定义 'struct r_debug' 错误:错误:重新定义 'struct link_map' E:\ndk-bundle\sysroot\usr\include\link.h"

我尝试更改 build.gradle,但没有用。我使用最新版本的 ndk 和 sdk,他们的目录运行良好。

怎么了?有文件丢失了吗? 是否有可能在创建 google-services.json 时出错?

“错误:'struct r_debug'的重新定义”是什么意思?

【问题讨论】:

  • 假设您正在尝试让Telegram Android app 工作,您是否尝试过阅读 README.md?它特别提到您必须手动编辑文件以修复构建变量
  • 是的,我看到了(不是全部),但它对这个错误不是很有用“错误:重新定义'struct r_debug'”是什么意思?
  • 找到解决方案了吗?请回答我

标签: telegram


【解决方案1】:

我自己找到了解决方案。实际上问题出在我的 NDK 版本上。 我使用了最新版本的 NDk,即“ndk-r15b-windows-x86” 只需我在 Linux 64 位上下载另一个版本,如“ndk-r14b-linux-x86_64”,然后错误就消失了!如果你有 64 位操作系统,你应该使用 ndk-r14b-windows-64

一些重要的事情:

1-将您自己的 API ID & APP_HASH & HOCKEY_APP_HASH 放在 BuildVars.java 中,如果不这样做,当您在 android OS 上安装应用程序时会出现错误

2-create google-services.json on fire base

3-make release.keystore

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多