如何解决我已经从GitHub下载了电报开源代码
构建命令失败。
Error while executing process /Users/nyame/Library/Android/sdk/ndk/21.1.6352462/ndk-build with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/Users/nyame/Documents/androidProjects/Telegram-FOSS/TMessagesProj/jni/Android.mk NDK_APPLICATION_MK=/Users/nyame/Documents/androidProjects/Telegram-FOSS/TMessagesProj/jni/Application.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=1 APP_PLATFORM=android-16 NDK_OUT=/Users/nyame/Documents/androidProjects/Telegram-FOSS/TMessagesProj/build/intermediates/ndkBuild/afatDebug/obj NDK_LIBS_OUT=/Users/nyame/Documents/androidProjects/Telegram-FOSS/TMessagesProj/build/intermediates/ndkBuild/afatDebug/lib NDK_APPLICATION_MK:=jni/Application.mk APP_PLATFORM:=android-16 --jobs=16 APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}
Android NDK: ERROR:/Users/nyame/Documents/androidProjects/Telegram-FOSS/TMessagesProj/jni/Android.mk:avutil: LOCAL_SRC_FILES points to a missing file
Android NDK: Check that /Users/nyame/Documents/androidProjects/Telegram-FOSS/TMessagesProj/jni/./ffmpeg/build/armv7-a/lib/libavutil.a exists or that its path is correct
fcntl(): Bad file descriptor
/Users/nyame/Library/Android/sdk/ndk/21.1.6352462/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting . Stop.
这些是我尝试但不为我工作的步骤:
- git子模块更新--init --recursive在libtgvoip文件夹中
- 进行研究,但看起来我的问题有所不同。
这是我的android.mk文件,似乎无法提供libavutil.a文件的路径
MY_LOCAL_PATH := $(call my-dir)
LOCAL_PATH := $(MY_LOCAL_PATH)
LOCAL_MODULE := avutil
LOCAL_SHORT_COMMANDS := true
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
FFMPEG_INCLUDE_PATH := $(LOCAL_PATH)/ffmpeg/build/armv7-a/include
LOCAL_SRC_FILES := ./ffmpeg/build/armv7-a/lib/libavutil.a
else ifeq ($(TARGET_ARCH_ABI),arm64-v8a)
FFMPEG_INCLUDE_PATH := $(LOCAL_PATH)/ffmpeg/build/arm64-v8a/include
LOCAL_SRC_FILES := ./ffmpeg/build/arm64-v8a/lib/libavutil.a
else ifeq ($(TARGET_ARCH_ABI),x86)
FFMPEG_INCLUDE_PATH := $(LOCAL_PATH)/ffmpeg/build/i686/include
LOCAL_SRC_FILES := ./ffmpeg/build/i686/lib/libavutil.a
else ifeq ($(TARGET_ARCH_ABI),x86_64)
FFMPEG_INCLUDE_PATH := $(LOCAL_PATH)/ffmpeg/build/x86_64/include
LOCAL_SRC_FILES := ./ffmpeg/build/x86_64/lib/libavutil.a
endif
......
解决方法
电报源代码使用一些语言(例如C和C ++),因此android studio gradle需要NDK(本机开发套件)来构建项目,我认为您的系统上没有NKD。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。