【问题标题】:Cocos2dx android application runs on emulator but not on deviceCocos2dx android 应用程序在模拟器上运行但不在设备上
【发布时间】:2013-07-25 17:18:47
【问题描述】:

该项目上周四运行良好,然后,某种 Eclipse 错误导致项目属性变得一团糟。

在头痛欲裂和令人沮丧之后,设法隔离问题并修复它....在模拟器上,在设备上运行它会给我原始的错误消息:

07-25 13:01:08.482: E/AndroidRuntime(4273): FATAL EXCEPTION: main
07-25 13:01:08.482: E/AndroidRuntime(4273): java.lang.ExceptionInInitializerError
07-25 13:01:08.482: E/AndroidRuntime(4273):     at java.lang.Class.newInstanceImpl(Native Method)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at java.lang.Class.newInstance(Class.java:1319)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at android.app.Instrumentation.newActivity(Instrumentation.java:1027)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1885)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at android.app.ActivityThread.access$600(ActivityThread.java:128)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at android.os.Looper.loop(Looper.java:137)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at android.app.ActivityThread.main(ActivityThread.java:4514)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at java.lang.reflect.Method.invokeNative(Native Method)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at java.lang.reflect.Method.invoke(Method.java:511)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at dalvik.system.NativeStart.main(Native Method)
07-25 13:01:08.482: E/AndroidRuntime(4273): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load game: findLibrary returned null
07-25 13:01:08.482: E/AndroidRuntime(4273):     at java.lang.Runtime.loadLibrary(Runtime.java:365)
07-25 13:01:08.482: E/AndroidRuntime(4273):     at java.lang.System.loadLibrary(System.java:535)

已经尝试了至少 12 种不同的方法来修复“无法加载游戏:findLibrary 返回 null”错误无济于事。

更新:尝试使用 4.0 模拟器,结果完全相同,因此它肯定与 android 版本相关;但是,该项目是为 Android 4.0 创建的,并且确实至少是为 Android 4.0 构建的。

有什么想法可能会发生什么以及如何解决它?

感谢任何回复

【问题讨论】:

标签: android eclipse cocos2d-x


【解决方案1】:

很可能您的库没有正确生成。转到 ProjectHome->libs->armeabi->libgame.so 。 libgame.so 文件丢失。 当您运行 create-android-project.bat 或等效的 linux 文件时,可能会生成此文件。 这会创建空的 android 项目。尝试从那里复制粘贴此文件。

【讨论】:

    【解决方案2】:

    要为 Android 构建 cocos2dx 项目,您应该执行两个步骤。

    1. 构建 C++ 库。可以通过 build_native.sh 完成
    2. 构建 Java 项目。可以通过 Eclipse 完成。

    如果你错过了第一步,就会发生这样的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 2015-03-01
      • 1970-01-01
      相关资源
      最近更新 更多