Cocos2dx - 安卓应用启动时崩溃

3

我想在Android设备或模拟器上运行使用create-android-project脚本创建的cocos2dx示例项目。

但是应用程序在启动时崩溃,显示如下错误:

10-16 10:50:02.249: E/AndroidRuntime(379): FATAL EXCEPTION: 主要 10-16 10:50:02.249: E/AndroidRuntime(379): java.lang.RuntimeException: 无法实例化活动 ComponentInfo{com.geckolab/com.geckolab.mahjong}: java.lang.ClassNotFoundException: com.geckolab.mahjong在加载器中 dalvik.system.PathClassLoader[/data/app/com.geckolab-1.apk] 10-16 10:50:02.249: E/AndroidRuntime(379): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 10-16 10:50:02.249: E/AndroidRuntime(379): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 10-16 10:50:02.249: E/AndroidRuntime(379): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 10-16 10:50:02.249: E/AndroidRuntime(379): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 10-16 10:50:02.249: E/AndroidRuntime(379): at android.os.Handler.dispatchMessage(Handler.java:99) 10-16 10:50:02.249: E/AndroidRuntime(379): at android.os.Looper.loop(Looper.java:123) 10-16 10:50:02.249: E/AndroidRuntime(379): at android.app.ActivityThread.main(ActivityThread.java:4627) 10-16 10:50:02.249: E/AndroidRuntime(379): at java.lang.reflect.Method.invokeNative(Native Method) 10-16 10:50:02.249: E/AndroidRuntime(379): at java.lang.reflect.Method.invoke(Method.java:521) 10-16 10:50:02.249: E/AndroidRuntime(379): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 10-16 10:50:02.249: E/AndroidRuntime(379): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 10-16 10:50:02.249: E/AndroidRuntime(379): at dalvik.system.NativeStart.main(Native Method) 10-16 10:50:02.249: E/AndroidRuntime(379): 导致的原因:java.lang.ClassNotFoundException: com.geckolab.mahjong在加载器中 dalvik.system.PathClassLoader[/data/app/com.geckolab-1.apk] 10-16 10:50:02.249: E/AndroidRuntime(379): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 10-16 10:50:02.249: E/AndroidRuntime(379): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 10-16 10:50:02.249: E/AndroidRuntime(379): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 10-16 10:50:02.249: E/AndroidRuntime(379): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 10-16 10:50:02.249: E/AndroidRuntime(379): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) 10-16 10:50:02.249: E/AndroidRuntime(379): ... 11 more 有任何想法出了什么问题吗?build_native.sh脚本似乎工作正常,我通过将编译器兼容性级别更改为1.6并在我的项目构建路径中添加了libcocos2dx.jar来解决一些Eclipse错误。
谢谢, 马尔琴
3个回答

3

AndroidManifest.xml 中实例化活动是必须记住的。

编辑:检查您的项目属性,确保所有 crocos2d 的 jar 或库都被勾选为排序和导出。


我知道-清单文件是自动生成的,并且已经包含了以下定义的活动: <activity android:name=".mahjong" android:label="@string/app_name" android:screenOrientation="landscape" android:configChanges="orientation"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> - Marcin Szulc
你尝试过清除项目并重新启动Eclipse吗?另外,你能否编辑你的原始问题并粘贴AndroidManifest.xml中的所有内容? - Yicanis
1
请检查您的项目属性,确保所有的crocos2d的JAR或库都被勾选为顺序和导出。 - Yicanis
可以了!问题出在没有勾选“Order and Export”选项卡下的cocos2dxlib.jar。非常感谢! - Marcin Szulc
我遇到了同样的问题。在“Order and Export”选项卡下检查cocos2dslib.jar后,问题得以解决。这对我帮助很大。哈哈。非常感谢你。 - thomaslee
它在版本3.4和Eclipse Luna中对我也起作用。 - Francis Moy

1
我遇到了同样的问题。 我已经配置好了一切。在我的情况下,没有将任何JAR文件添加到构建路径中,因为我在项目中添加了包含libscocos2dx.jar的cocos2dx库。
虽然我有一个so文件,通常不需要添加到构建路径中,但我也添加了它来检查它是否有效,但不幸的是它并没有起作用。

请告诉我你在谈论哪个活动,是我刚刚创建的那个还是从cocos2dxActivity扩展的那个。此外,请让我知道。 - Mehroze Yaqoob

0
解决方案:重启你的IDE! 然后移除项目错误(可能与libcocos2dx相关,无法找到)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接