我正在尝试为android构建this mumble客户端,我很难尝试让ndk编译项目。
当我尝试从android studio IDE编译时,我收到以下错误:Error while executing process 'path'\ndk-bundle\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT='path'\jni\Android.mk NDK_APPLICATION_MK='path'\jni\Application.mk APP_ABI=armeabi NDK_ALL_ABIS=armeabi NDK_DEBUG=1 APP_PLATFORM=android-9 NDK_OUT='path'/ndkBuild/debug/obj NDK_LIBS_OUT='path'\ndkBuild\debug\lib APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}
经过一些研究,我在this回答之后添加了一个环境路径到项目的根目录,但它没有帮助。
我还按照this的答案通过从命令行运行NDK_PROJECT_PATH=null
来绕过ndk-build.cmd
,但这给了我以下错误:Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: 'path'\ndk-build.cmd/jni/Android.mk
'path'/android-ndk/build//../build/core/add-application.mk:198: *** Android NDK: Aborting... . Stop.
如果需要,这是我的Android.mk
文件:
ROOT := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PATH := $(ROOT)/celt/libcelt
LOCAL_MODULE := libcelt
LOCAL_SRC_FILES := bands.c celt.c cwrs.c dump_modes.c \
entcode.c entdec.c entenc.c header.c \
kiss_fft.c laplace.c mdct.c modes.c \
pitch.c quant_bands.c rangedec.c rangeenc.c \
rate.c testcelt.c vq.c
LOCAL_CFLAGS := -I$(LOCAL_PATH) -I$(ROOT)/celt_wrapper -DHAVE_CONFIG_H -fvisibility=hidden
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_PATH := $(ROOT)/speex/libspeex
LOCAL_MODULE := libspeex
LOCAL_SRC_FILES := cb_search.c exc_10_32_table.c exc_8_128_table.c filters.c \
gain_table.c hexc_table.c high_lsp_tables.c lsp.c \
ltp.c speex.c stereo.c vbr.c \
vq.c bits.c exc_10_16_table.c exc_20_32_table.c exc_5_256_table.c \
exc_5_64_table.c gain_table_lbr.c hexc_10_32_table.c lpc.c \
lsp_tables_nb.c modes.c modes_wb.c nb_celp.c \
quant_lsp.c sb_celp.c speex_callbacks.c speex_header.c \
window.c resample.c jitter.c
LOCAL_CFLAGS := -I$(LOCAL_PATH)/../include -D__EMX__ -DFIXED_POINT -DEXPORT=''
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_PATH := $(ROOT)/new
LOCAL_MODULE := libnative
LOCAL_SRC_FILES := hawtjni.c hawtjni_native.c hawtjni_native_stats.c hawtjni_native_structs.c
LOCAL_CFLAGS := -I$(ROOT)/celt/libcelt -fvisibility=hidden
LOCAL_STATIC_LIBRARIES := libcelt libspeex
include $(BUILD_SHARED_LIBRARY)
并且application.mk
文件包含以下行:
#APP_OPTIM := debug
如何解决这个问题的任何线索都将不胜感激。