android android-ndk cocos2d-x

Error "no puedo encontrar el módulo con la etiqueta ''CocosDenshion/android'' en ruta de importación" en la aplicación cocos2dx



android-ndk cocos2d-x (7)

Estoy tratando de compilar la aplicación nativa de Android desarrollada en cocos2d-x. Cuando trato de depurar mi aplicación obtengo el siguiente error.

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:

Tengo las siguientes líneas en mi archivo 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)

En mi build_native.sh El NDK_MODULE_PATH se define como

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

¿Alguien puede ayudarme a resolver este problema.


Comprobar

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

ex)

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


Deberá definir su NDK_MODULE_PATH en la carpeta que contiene la carpeta "CocosDension / Android".

Así, por ejemplo, si define NDK_MODULE_PATH += /cygdrive/c/ndk_modules

Tendrá que poner su dato cocos aquí: /cygdrive/c/ndk_modules/CocosDension/Android/Android.mk

Echa un vistazo a esta documentación:

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

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


Hace un tiempo tuve el mismo problema cuando definí la variable cocos2dx en eclipse, no la vi cuando se construyó, por lo que se produjo el error en la ruta del módulo ndk

Luego intenté establecer la ruta del módulo codificada de forma rígida sin variable y funcionó para que mi ruta del módulo ndk tenga este aspecto, también definida como ndk_root en 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"

Así es como se ve en mi PC con Windows dale una oportunidad

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

Aquí está mi 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)


Incluso tuve problemas con Cocos2d-x android. Puedes probar this y ver si ayuda.


Tienes que cambiar esta línea en "build_native.sh"

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

Dependiendo de la ubicación de su proyecto de Android basado en la raíz cocos2d-x. Por ejemplo, si la ruta de su proyecto de Android es: C: / cocos2d-x / Projects / ProjectName / proj.android entonces

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

(tienes que retroceder tres pasos para llegar a la raíz de cocos2d-x)

pero si la ruta de su proyecto es C: / cocos2d-x / ProjectName / proj.android entonces

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

(tienes que retroceder dos pasos para llegar a la raíz de cocos2d-x)

Espero que ayude


Tuve el mismo problema. El problema es que el NDK_MODULE_PATH es una variable de entorno y Eclipse (4.2) no le permite definir variables de entorno para la depuración, solo para la compilación.

Entonces, la definición de la variable NDK_MODULE_PATH sistema es una solución. En Linux, puede hacerlo, por ejemplo, editando su .profile y agregando lo siguiente:

export NDK_MODULE_PATH="path/to/module"

Esta solución es permanente, pero no flexible.

Otra solución es iniciar eclipse desde la línea de comando:

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

Esto es más flexible y puedes hacerlo con un simple script. Si cambia NDK_MODULE_PATH, solo necesita reiniciar Eclipse y no toda la sesión.