【发布时间】:2014-07-22 13:27:19
【问题描述】:
好吧,我终于把 cocos2d-x 放到 IDE 中了,现在我可以做一些小的改动,比如更改标签文本。
但是当尝试添加精灵时,应用程序在我的手机 (Galaxy Ace 2) 上崩溃,我无法理解调试输出。
我跟着 THIS 视频设置了我的 IDE,我刚刚去模板项目中添加一个精灵......
有人可以帮我解决这个问题吗:
07-22 13:22:32.310: D/PhoneWindow(22070): couldn't save which view has focus because the focused view org.cocos2dx.lib.Cocos2dxGLSurfaceView@405240c8 has no id.
07-22 13:22:32.930: V/SurfaceView(22070): org.cocos2dx.lib.Cocos2dxGLSurfaceView@405240c8 got app visibiltiy is changed: false
07-22 13:22:32.930: I/GLThread(22070): noticed surfaceView surface lost tid=12
07-22 13:22:32.930: W/EglHelper(22070): destroySurface() tid=12
07-22 13:22:32.960: D/CLIPBOARD(22070): Hide Clipboard dialog at Starting input: finished by someone else... !
07-22 13:23:05.190: W/dalvikvm(22133): threadid=1: thread exiting with uncaught exception (group=0x4001e578)
07-22 13:23:05.190: E/AndroidRuntime(22133): FATAL EXCEPTION: main
07-22 13:23:05.190: E/AndroidRuntime(22133): java.lang.UnsatisfiedLinkError: Couldn't load cocos2dcpp: findLibrary returned null
07-22 13:23:05.190: E/AndroidRuntime(22133): at java.lang.Runtime.loadLibrary(Runtime.java:429)
07-22 13:23:05.190: E/AndroidRuntime(22133): at java.lang.System.loadLibrary(System.java:554)
07-22 13:23:05.190: E/AndroidRuntime(22133): at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:66)
07-22 13:23:05.190: E/AndroidRuntime(22133): at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:80)
07-22 13:23:05.190: E/AndroidRuntime(22133): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
07-22 13:23:05.190: E/AndroidRuntime(22133): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
07-22 13:23:05.190: E/AndroidRuntime(22133): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
07-22 13:23:05.190: E/AndroidRuntime(22133): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
07-22 13:23:05.190: E/AndroidRuntime(22133): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
07-22 13:23:05.190: E/AndroidRuntime(22133): at android.os.Handler.dispatchMessage(Handler.java:99)
07-22 13:23:05.190: E/AndroidRuntime(22133): at android.os.Looper.loop(Looper.java:130)
07-22 13:23:05.190: E/AndroidRuntime(22133): at android.app.ActivityThread.main(ActivityThread.java:3691)
07-22 13:23:05.190: E/AndroidRuntime(22133): at java.lang.reflect.Method.invokeNative(Native Method)
07-22 13:23:05.190: E/AndroidRuntime(22133): at java.lang.reflect.Method.invoke(Method.java:507)
07-22 13:23:05.190: E/AndroidRuntime(22133): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
07-22 13:23:05.190: E/AndroidRuntime(22133): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:670)
07-22 13:23:05.190: E/AndroidRuntime(22133): at dalvik.system.NativeStart.main(Native Method)
07-22 13:23:07.200: I/dalvikvm(22133): threadid=4: reacting to signal 3
07-22 13:23:07.200: I/dalvikvm(22133): Wrote stack traces to '/data/anr/traces.txt'
谢谢
附: Cocos2dxActivity.java 在第 66 行和第 80 行有错误。
第 66 行是 System.loadLibrary(libName);,第 80 行是 onLoadNativeLibraries(); 在第 65 行中,它将库名称声明为 String libName = bundle.getString("android.app.lib_name");
另外,我可以在 Manifest 中看到关键信息是:
<!-- Tell Cocos2dxActivity the name of our .so -->
<meta-data android:name="android.app.lib_name"
android:value="cocos2dcpp" />
我确实有 NDK,并将它连接到我的 ./bash_profile 中。但我确实注意到控制台说:
python /Users/damianwilliams/Desktop/KittyKatch/proj.android/build_native.py -b release all
NDK_ROOT not defined. Please define NDK_ROOT in your environment
但我知道我的 bash 中有它,因为我的 bash 个人资料显示:
# Add environment variable COCOS_CONSOLE_ROOT for cocos2d-x
export COCOS_CONSOLE_ROOT=/Users/damianwilliams/Desktop/Android-Development-Root/cocos2d-x-3.2rc0/tools/cocos2d-console/bin
export PATH=$COCOS_CONSOLE_ROOT:$PATH
# Add environment variable NDK_ROOT for cocos2d-x
export NDK_ROOT=/Users/damianwilliams/Desktop/Android-Development-Root/android-ndk-r10
export PATH=$NDK_ROOT:$PATH
# Add environment variable ANT_ROOT for cocos2d-x
export ANT_ROOT=/Users/damianwilliams/Desktop/Android-Development-Root/apache-ant-1.9.4/bin
export PATH=$ANT_ROOT:$PATH
但我不知道如何处理这些信息,或者我是否正确构建了它。
【问题讨论】:
标签: android eclipse debugging cocos2d-x logcat