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
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.
http://www.cocos2d-x.org/forums/6/topics/36474
http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-debugging
Los enlaces anteriores tienen explicaciones detalladas sobre cómo depurar el proyecto cocos2d-x como aplicación nativa de Android.