Adipose Dan wrote:
Víctor González wrote:
>
—
>
In android template (cocosroot/template/android) there is a file “ndkgdb.sh”.
>
With the right variables defined, this file will launch ndk-gdb successfully. The problem is ndk-gdb needs the module path in order to import cocos.
>
Here is the one I am using, only modified to add paths:
>
[…]
I got a similar problem error, and the “ndkgdb.sh” is not work neither.
I have change the “ndkgdb.sh” to fit my demo like this:
APPNAME="KillBulls"
APP_ANDROID_NAME="com.bailin.killbulls"
if [ -z "${SDK_ROOT+aaa}" ]; then
# ... if SDK_ROOT is not set, use "$HOME/bin/android-sdk"
SDK_ROOT="$HOME/bin/android-sdk"
fi
if [ -z "${NDK_ROOT+aaa}" ]; then
# ... if NDK_ROOT is not set, use "$HOME/bin/android-ndk"
NDK_ROOT="$HOME/bin/android-ndk"
fi
if [ -z "${COCOS2DX_ROOT+aaa}" ]; then
# ... if COCOS2DX_ROOT is not set
# ... find current working directory
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# ... use paths relative to current directory
COCOS2DX_ROOT="$DIR/../../../.."
APP_ROOT="$DIR/.."
APP_ANDROID_ROOT="$DIR"
else
APP_ROOT="$COCOS2DX_ROOT/samples/$APPNAME"
APP_ANDROID_ROOT="$COCOS2DX_ROOT/samples/$APPNAME/proj.android"
fi
echo "NDK_ROOT = $NDK_ROOT"
echo "SDK_ROOT = $SDK_ROOT"
echo "COCOS2DX_ROOT = $COCOS2DX_ROOT"
echo "APP_ROOT = $APP_ROOT"
echo "APP_ANDROID_ROOT = $APP_ANDROID_ROOT"
echo "APP_ANDROID_NAME = $APP_ANDROID_NAME"
echo
echo "Killing and restarting ${APP_ANDROID_NAME}"
echo
set -x
"${SDK_ROOT}"/platform-tools/adb shell am force-stop "${APP_ANDROID_NAME}"
NDK_MODULE_PATH="${COCOS2DX_ROOT}":"${COCOS2DX_ROOT}"/cocos2dx/platform/third_party/android/prebuilt \
"${NDK_ROOT}"/ndk-gdb \
--adb="${SDK_ROOT}"/platform-tools/adb \
--verbose \
--start \
--force
My NDK version is android-ndk-r8e
ANDORID SDK is download with ADT, date is 20130219.
OS: WIN7
cygwin version: 1.7.18-14
cocos2dx version: cocos2d-2.1rc0-x-2.1.2
My error message is:
$ ./ndkgdb.sh
NDK_ROOT = /cygdrive/d/work/adt-bundle-windows-x86_64-20130219/android-ndk-r8e
SDK_ROOT = /cygdrive/d/work/adt-bundle-windows-x86_64-20130219/sdk
COCOS2DX_ROOT = /cygdrive/d/work/SVN/cocos2dx/2.1.2/projects/KillBulls/proj.android/../../../..
APP_ROOT = /cygdrive/d/work/SVN/cocos2dx/2.1.2/projects/KillBulls/proj.android/..
APP_ANDROID_ROOT = /cygdrive/d/work/SVN/cocos2dx/2.1.2/projects/KillBulls/proj.android
APP_ANDROID_NAME = com.bailin.killbulls
Killing and restarting com.bailin.killbulls
++ /cygdrive/d/work/adt-bundle-windows-x86_64-20130219/sdk/platform-tools/adb shell am force-stop com.bailin.killbulls
++ NDK_MODULE_PATH=/cygdrive/d/work/SVN/cocos2dx/2.1.2/projects/KillBulls/proj.android/../../../..:/cygdrive/d/work/SVN/cocos2dx/2.1.2/projects/KillBulls/proj.android/../../../../cocos2dx/platform/third_party/android/prebuilt
++ /cygdrive/d/work/adt-bundle-windows-x86_64-20130219/android-ndk-r8e/ndk-gdb --adb=/cygdrive/d/work/adt-bundle-windows-x86_64-20130219/sdk/platform-tools/adb --verbose --start --force
Android NDK installation path: /cygdrive/d/work/adt-bundle-windows-x86_64-20130219/android-ndk-r8e
Using specific adb command: /cygdrive/d/work/adt-bundle-windows-x86_64-20130219/sdk/platform-tools/adb
ADB version found: Android Debug Bridge version 1.0.31
Using ADB flags:
Using auto-detected project path: .
Found package name: com.bailin.killbulls
jni/Android.mk:23: *** Android NDK: Aborting. . Stop .
ABIs targetted by application: Android NDK:
Device API Level: 16
Device CPU ABIs: armeabi-v7a armeabi
ERROR: The device does not support the application's targetted CPU ABIs!
Device supports: armeabi-v7a armeabi
Package supports: Android NDK:
Then I look up the Android.mk in jni floder, line 23 is the *$(call import-module,cocos2dx)*
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,cocos2dx)
$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
$(call import-module,CocosDenshion/android)
$(call import-module,extensions)
$(call import-module,external/Box2D)
$(call import-module,external/chipmunk)
The Application.mk file which in jni floder was add the configuration:
APP_ABI := armeabi-v7a
APP_OPTIM := debug
It still doesn’t work .
I feel I should concern about the Android.mk:23, but I don’t know how .
Is there any one could help me solve this problem?