安卓开发:as编译报错 D:\android\ndk\21.2.6472646\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null NDK路径找不到

as编译报错日志:

Build command failed.

Error while executing process D:\android\ndk\21.0.6113669\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=G:\AndPro\frameworks\runtime-src\AndPro\app\jni\Android.mk NDK_APPLICATION_MK=G:\AndPro\frameworks\runtime-src\AndPro\app\jni\Application.mk APP_ABI=arm64-v8a NDK_ALL_ABIS=arm64-v8a NDK_OUT=G:\AndPro\frameworks\runtime-src\AndPro\app\build\intermediates\cxx\Debug\3y5i2st2/obj NDK_LIBS_OUT=G:\AndPro\frameworks\runtime-src\AndPro\app\build\intermediates\cxx\Debug\3y5i2st2/lib NDK_TOOLCHAIN_VERSION=4.9 APP_PLATFORM=android-16 NDK_MODULE_PATH=G:/AndPro/frameworks/cocos2d-x;G:/AndPro/frameworks/cocos2d-x/cocos;G:/AndPro/frameworks/cocos2d-x/external -j12 NDK_DEBUG=1 cocos2dlua}

make: *** No rule to make target ‘cocos2dlua’. Stop.

这个错误说明你的 NDK 编译失败了,因为 make 没有找到名为 cocos2dlua 的构建目标,通常是由于 Android.mk 配置错误或者某些路径、模块声明不正确导致的。

❌ 报错分析(关键点):

make: *** No rule to make target 'cocos2dlua'. Stop.

这说明 Android.mk 文件中提到要编译 cocos2dlua,但没有定义它,也没有在 LOCAL_PATH 指定的任何模块中找到该目标。

✅ 解决步骤

  1. 检查 Android.mk 是否包含了 cocos2dlua 模块, 打开这个文件确保里面有类似这样的内容:
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dlua
LOCAL_SRC_FILES := main.cpp # 或其他源文件
# 其他必要字段
include $(BUILD_SHARED_LIBRARY)

如果 LOCAL_MODULE := cocos2dlua 没有定义,那就会出现这个错误。

  1. 检查是否正确引用了 Android.mk 中的模块, 确保你的 Android.mk 文件结构正确,类似于:
# 设置路径
LOCAL_PATH := $(call my-dir)

# 引用 cocos2d-x 核心模块
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dlua
LOCAL_SRC_FILES := hellolua/main.cpp
# 引用 Cocos 引擎等其他模块
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../cocos2d-x/cocos
LOCAL_LDLIBS := -landroid -llog
include $(BUILD_SHARED_LIBRARY)

$(call import-module,cocos)
$(call import-module,cocos/audio/include)

  1. 确认 NDK_MODULE_PATH 路径正确, 你提供的参数中包含:
NDK_MODULE_PATH=G:/AndPro/frameworks/cocos2d-x;
                G:/AndPro/frameworks/cocos2d-x/cocos;
                G:/AndPro/frameworks/cocos2d-x/external

这些路径必须指向包含 Android.mk 的目录,比如 cocos, external, 等。 确认这些路径都存在,并且包含 Android.mk。

  1. 检查 Application.mk 配置, 路径:
G:\AndPro\frameworks\runtime-src\AndPro\app\jni\Application.mk

应包含:

APP_ABI := arm64-v8a
APP_PLATFORM := android-16
NDK_TOOLCHAIN_VERSION := 4.9

不能定义一个 APP_MODULES := cocos2dlua 如果 Android.mk 中并没有相应的模块。

你可能感兴趣的:(前端开发,android,android-studio,开发工具,app)