UnsatisfiedLinkError无法在Android上加载cocos2d-x游戏

4
我正在尝试创建一个新的cocos2d-x Android项目,并遵循以下教程: Cocos2d-x Android Integration 最后,当我尝试运行应用程序时,会出现错误提示:
10-14 21:52:37.510: E/AndroidRuntime(1568): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load game: findLibrary returned null

“game”库从生成的活动中加载:
         System.loadLibrary("game");

但是我的项目中没有game.so文件,我只有libgame.so文件。我该怎么解决这个问题呢?


自从Cocos2d-X推出了2.0系列以来,事情真的有所改善。这里有一个关于如何创建Cocos2d-X元项目,适用于iOS、Mac、Windows和Android的新教程。 - Nathanael Weiss
感谢新的教程。虽然结果相同。 - Sami
1个回答

2
请问您将.so文件放在哪里了?请确保它在“libs”目录下,甚至可能是“libs/armeabi”或“libs/armeabi-v7”下。如果已经有一个v7版本,请尝试删除它。
对于Android的命名规则,将libgame.so转换为“game”以进行loadlibrary操作...您的命名是正确的。
还要确保您使用NDK构建了此库,或者该“game”的生产商使用NDK构建了该库(根据命名,似乎是这样!)
看起来您遇到了一个64位问题,可以在这里找到解决方法。

cocos2d-x脚本放置在“libs/armeabi”中,并使用android-ndk-r8b创建。 - Sami
LIBGDX的建议:
  • 使用32位虚拟机。
  • 使用包含Windows 64位虚拟机支持的夜间版本。夜间版本可以在http://libgdx.l33tlabs.org找到。请注意,它们可能不稳定。
- programmer33
谢谢你的帮助。我不得不使用虚拟机才能让它工作,这有点烦人。 - Sami
1
很遗憾听到这个消息,但我很高兴你最终解决了问题。本地库总是让人头疼! - programmer33

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