Подтвердить что ты не робот

"не удается найти модуль с тегом" CocosDenshion/android "в пути импорта" ошибка в приложении cocos2dx

Я пытаюсь скомпилировать собственное приложение Android, разработанное на cocos2d-x. Когда я пытаюсь отладить мое приложение, я получаю следующую ошибку.

Android NDK: jni/Android.mk: Cannot find module with tag 'CocosDenshion/android' in import path
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
Android NDK: The following directories were searched:

У меня есть следующие строки в файле android.mk

$(Call import-add-path, $(LOCAL_PATH)/../../../CocosDenshion/android)

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static

include $(BUILD_SHARED_LIBRARY)

$(call import-module,CocosDenshion/android)
$(call import-module,cocos2dx)

В моем build_native.sh NDK_MODULE_PATH определяется как

"NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"

Может ли кто-нибудь помочь мне решить эту проблему.

4b9b3361

Ответ 1

У меня была такая же проблема некоторое время назад когда я определяю переменную cocos2dx в eclipse, она не увидела ее при построении, поэтому возникла ошибка модуля ndk.

Затем я попытался установить путь к модулю жестко закодированным без переменной, и он работал поэтому мой путь модуля ndk выглядит так, а также определен ndk_root в eclipse

if [[ "$buildexternalsfromsource" ]]; then
echo "Building external dependencies from source"
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
    "NDK_MODULE_PATH=/home/myname/adt/cocos2dx:/home/myname/adt/cocos2dx/cocos2dx/platform/third_party/android/source"

Вот как это выглядит в моем Windows-ПК, попробуйте

if [[ "$buildexternalsfromsource" ]]; then
    echo "Building external dependencies from source"
    "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
        "NDK_MODULE_PATH=/cygdrive/c/Users/metin/Desktop/cocos2dx:/cygdrive/c/Users/metin/Desktop/cocos2dx/cocos2dx/platform/third_party/android/source"
else
    echo "Using prebuilt externals"
    "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
        "NDK_MODULE_PATH=/cygdrive/c/Users/metin/Desktop/cocos2dx:/cygdrive/c/Users/metin/Desktop/cocos2dx/cocos2dx/platform/third_party/android/prebuilt"
fi

Вот мой Android.mk

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static

include $(BUILD_SHARED_LIBRARY)

$(call import-add-path, /cygdrive/c/Users/metin/Desktop/cocos2dx)
$(call import-add-path, /cygdrive/c/Users/metin/Desktop/cocos2dx/cocos2dx/platform/third_party/android/prebuilt)

$(call import-module,CocosDenshion/android)
$(call import-module,cocos2dx)
$(call import-module,external/chipmunk)
$(call import-module,extensions)

Ответ 2

Вам нужно определить свой NDK_MODULE_PATH в папку, содержащую папку "CocosDension/Android".

Так, например, если вы определяете NDK_MODULE_PATH += /cygdrive/c/ndk_modules

вам нужно поставить свой кокос dension здесь: /cygdrive/c/ndk_modules/CocosDension/Android/Android.mk

Ознакомьтесь с этой документацией:

https://docs.google.com/document/d/127ZkklXDyknjKAIVAos-DWI9nZSB3uKmTI84lk1TJ9k/edit

https://android.googlesource.com/platform/ndk/+/675fe49445e65ba44d91f4d85ed9b4d5b5ff6745/docs/IMPORT-MODULE.TXT

Ответ 3

Даже у меня были проблемы с Cocos2d-x android. Вы можете попробовать и посмотреть, помогает ли это.

Ответ 4

У меня была такая же проблема. Проблема состоит в том, что NDK_MODULE_PATH является переменной окружения, а Eclipse (4.2) не позволяет вам определять переменные среды для отладки, только для сборки.

Таким образом, определение переменной NDK_MODULE_PATH во всей системе - одно из решений. В Linux вы можете сделать это, например, отредактировав .profile и добавив следующее:

export NDK_MODULE_PATH="path/to/module"

Это решение является постоянным, но не гибким.

Другим решением является запуск eclipse из командной строки:

$ export NDK_MODULE_PATH="path/to/module"
$ eclipse

Это более гибко, и вы можете сделать это с помощью простого script. Если вы изменили NDK_MODULE_PATH, вам нужно только перезапустить Eclipse и не весь сеанс.

Ответ 5

Проверка

build_native.sh  > **COCOS2DX_ROOT="$DIR/../../.."**

ех)

Project Name : FirstExam

c:\cocos2d-x\FirstExam ==> **COCOS2DX_ROOT="$DIR/../.."**

c:\cocos2d-x\example\FirstExam ==> **COCOS2DX_ROOT="$DIR/../../.."**

Ответ 7

Вы должны изменить эту строку в "build_native.sh"

COCOS2DX_ROOT="$DIR/../.." 

в зависимости от местоположения вашего проекта Android на основе cocos2d-x root. Например, если ваш проект для вашего Android-проекта: C:\cocos2d-х\Projects\ProjectName\proj.android то

COCOS2DX_ROOT="$DIR/../../.." 

(вам нужно пройти три шага назад, чтобы добраться до корня cocos2d-x)

но если ваш путь к проекту C:\cocos2d-х\ProjectName\proj.android то

COCOS2DX_ROOT="$DIR/../../.." 

(вам нужно пройти два шага назад, чтобы добраться до корня cocos2d-x)

надеюсь, что поможет