gpt4 book ai didi

android - 在 Android Studio Build 命令中使用 Android-NDK 失败

转载 作者:行者123 更新时间:2023-11-29 23:44:40 27 4
gpt4 key购买 nike

我正在尝试将此项目作为 Android-NDK 添加到 Android Studio,但我不断收到错误:https://github.com/timsu/android-aac-enc

我按照本指南安装了 NDK 和所有相关的东西。然后我将 jni 文件夹 添加到 app\src\main\jni 并将这一行添加到 build.gradle

android {  
externalNativeBuild {
ndkBuild {
path "src/main/jni/Android.mk"
}
}

当我尝试同步项目时,出现以下错误:

Build command failed.

Error while executing process C:\Users\ThermalTake i7\AppData\Local\Android\Sdk\ndk-bundle\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Users\ThermalTake i7\Desktop\StarMe Git\starme_android-code\app\src\main\jni\Android.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=1 APP_PLATFORM=android-19 NDK_OUT=C:/Users/ThermalTake i7/Desktop/StarMe Git/starme_android-code/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=C:\Users\ThermalTake i7\Desktop\StarMe Git\starme_android-code\app\build\intermediates\ndkBuild\debug\lib APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}
'C:\Users\ThermalTake' is not recognized as an internal or external command,
operable program or batch file.

在搜索了一些答案后,我尝试将这一行添加到 build.gradle:

android {
defaultConfig
{
ndk {
abiFilters 'x86', 'x86_64', 'armeabi-v7a','arm64-v8a'
}
}

仍然有同样的错误,我错过了什么?
我只需添加 jni 文件夹吗?

这也是Android.mk文件,可能是错误所在。

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
include $(LOCAL_PATH)/Config.mk

LOCAL_MODULE := aac-encoder

ENC_SRC := src

LOCAL_C_INCLUDES := $(LOCAL_PATH)/inc

LOCAL_SRC_FILES = \
aac-enc.c \
$(ENC_SRC)/cmnMemory.c \
basic_op/basicop2.c \
basic_op/oper_32b.c \
$(ENC_SRC)/aac_rom.c \
$(ENC_SRC)/aacenc.c \
$(ENC_SRC)/aacenc_core.c \
$(ENC_SRC)/adj_thr.c \
$(ENC_SRC)/band_nrg.c \
$(ENC_SRC)/bit_cnt.c \
$(ENC_SRC)/bitbuffer.c \
$(ENC_SRC)/bitenc.c \
$(ENC_SRC)/block_switch.c \
$(ENC_SRC)/channel_map.c \
$(ENC_SRC)/dyn_bits.c \
$(ENC_SRC)/grp_data.c \
$(ENC_SRC)/interface.c \
$(ENC_SRC)/line_pe.c \
$(ENC_SRC)/memalign.c \
$(ENC_SRC)/ms_stereo.c \
$(ENC_SRC)/pre_echo_control.c \
$(ENC_SRC)/psy_configuration.c \
$(ENC_SRC)/psy_main.c \
$(ENC_SRC)/qc_main.c \
$(ENC_SRC)/quantize.c \
$(ENC_SRC)/sf_estim.c \
$(ENC_SRC)/spreading.c \
$(ENC_SRC)/stat_bits.c \
$(ENC_SRC)/tns.c \
$(ENC_SRC)/transform.c

ifeq ($(VOTT), v5)
LOCAL_SRC_FILES += \
$(ENC_SRC)/asm/ARMV5E/AutoCorrelation_v5.s \
$(ENC_SRC)/asm/ARMV5E/band_nrg_v5.s \
$(ENC_SRC)/asm/ARMV5E/CalcWindowEnergy_v5.s \
$(ENC_SRC)/asm/ARMV5E/PrePostMDCT_v5.s \
$(ENC_SRC)/asm/ARMV5E/R4R8First_v5.s \
$(ENC_SRC)/asm/ARMV5E/Radix4FFT_v5.s
endif

ifeq ($(VOTT), v7)
LOCAL_SRC_FILES += \
$(ENC_SRC)/asm/ARMV5E/AutoCorrelation_v5.s \
$(ENC_SRC)/asm/ARMV5E/band_nrg_v5.s \
$(ENC_SRC)/asm/ARMV5E/CalcWindowEnergy_v5.s \
$(ENC_SRC)/asm/ARMV7/PrePostMDCT_v7.s \
$(ENC_SRC)/asm/ARMV7/R4R8First_v7.s \
$(ENC_SRC)/asm/ARMV7/Radix4FFT_v7.s
endif

LOCAL_ARM_MODE := arm

LOCAL_LDLIBS := -llog

LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES :=

LOCAL_CFLAGS := $(VO_CFLAGS)

ifeq ($(VOTT), v5)
LOCAL_CFLAGS += -DARMV5E -DARM_INASM -DARMV5_INASM
LOCAL_C_INCLUDES += $(ENC_SRC)/asm/ARMV5E
endif

ifeq ($(VOTT), v7)
LOCAL_CFLAGS += -DARMV5E -DARMV7Neon -DARM_INASM -DARMV5_INASM -DARMV6_INASM
LOCAL_C_INCLUDES += $(ENC_SRC)/asm/ARMV5E
LOCAL_C_INCLUDES += $(ENC_SRC)/asm/ARMV7
endif

include $(BUILD_SHARED_LIBRARY)

会不会是因为我没有包含NDK_MODULE_PATH

最佳答案

NDK 不能安装在有空格的路径中。对于使用 NDK 的项目也是如此。

在您的情况下,最好的解决方法是将所有 Android SDK 移动到目录 C:\AndroidSdk。

关于android - 在 Android Studio Build 命令中使用 Android-NDK 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51546938/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com