【问题标题】:Couldn't load game: findLibrary returned null: with cocos2d-x, no success despite many attempts?无法加载游戏:findLibrary 返回 null:使用 cocos2d-x,多次尝试都没有成功?
【发布时间】:2013-04-15 23:44:59
【问题描述】:

我想尝试一个使用 Eclipse Mobile For Developers、NDK、Android SDK 和 Cocos2d-x 的简单项目。

我已经正确设置了路径:cocos2d-x/create-android-project.sh:

NDK_ROOT_LOCAL="/Users/Empon/android-ndk-r8e"
ANDROID_SDK_ROOT_LOCAL="/Users/Empon/android"

在 Eclipse 的设置中(属性中的“NDK 路径”)。

我关注了 stackoverflow 中的主题,但无法使我的项目正常运行。与一个主题相比,一件看起来很奇怪的事情:我在“libs”下面没有任何东西。

我在 Mac Lion 10.7.4 上(我下载了 64 位版本的 Eclipse),我在项目中没有错误,唯一的错误是我在 android 上运行应用程序时(4.0.4,Alcatel ot 997) ,出现这些错误(这里是 2 次尝试的总结):

04-22 22:19:09.079: E/AndroidRuntime(14321): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load game: findLibrary returned null
04-22 22:19:09.079: E/AndroidRuntime(14321):    at java.lang.Runtime.loadLibrary(Runtime.java:365)
04-22 22:19:09.079: E/AndroidRuntime(14321):    at java.lang.System.loadLibrary(System.java:535)
04-22 22:19:09.079: E/AndroidRuntime(14321):    at com.first.cocos2dx.samplecocos2dxandroid.<clinit>(samplecocos2dxandroid.java:37)

你知道吗?

非常感谢

(来源:http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started


编辑:

在正确导出 NDK_ROOT 后,我现在遇到了这个问题:ndk-build: No such file or directory!

export NDK_ROOT=/Users/Empon/android-ndk-r8e/ndk-build:没有这样的文件或目录

但是文件确实存在于android-ndk-r8e...所以,我双击文件,上面写着define the NDK_PROJECT_PATH variable

Empon$ /Users/Empon/android-ndk-r8e/ndk-build ; exit;
Android NDK: Could not find application project directory !    
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.    
/Users/Empon/android-ndk-r8e/build/core/build-local.mk:130: *** Android NDK: Aborting

我已经在终端中尝试过:

在终端:

Empon$ export NDK_PROJECT_PATH=/Users/Empon/cocos2d-x/Monday3/ >> .bash_profile
Empon$ ./build_native.sh
NDK_ROOT = :/Users/Empon/android-ndk-r8e >> .bash_profile
export NDK_ROOT=/Users/Empon/android-ndk-r8e
COCOS2DX_ROOT = /Users/Empon/cocos2d-x/Monday3/proj.android/../..
APP_ROOT = /Users/Empon/cocos2d-x/Monday3/proj.android/..
APP_ANDROID_ROOT = /Users/Empon/cocos2d-x/Monday3/proj.android
Using prebuilt externals
./build_native.sh: line 89: :/Users/Empon/android-ndk-r8e >> .bash_profile
export NDK_ROOT=/Users/Empon/android-ndk-r8e/ndk-build: No such file or directory

或者只是更改 Android.mk 中的路径:

#LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes                   
LOCAL_C_INCLUDES := $(LOCAL_PATH)/Classes

但终端仍然出现同样的错误...有什么想法吗?

【问题讨论】:

    标签: android android-ndk shared-libraries cocos2d-x


    【解决方案1】:

    我认为你没有运行 build_native.sh 脚本

    【讨论】:

    • 谢谢,你是对的!我误解了教程,我认为我们必须选择一种构建方式(java/或 c++)。不过,我有一个问题,使用此命令行:“请定义 NDK_ROOT”,路径是在 Eclipse>Preferences>Android/NDK 中定义的,我们还应该在哪里指定它?再次感谢
    • @Paul 我认为您需要编辑 build_native.sh 文件本身。它在顶部。
    • 对不起,你能看看我的编辑,我复制了文件的顶部,我不知道我应该在哪里改变它?谢谢m.ding
    • @Paul 你可以尝试打开一个终端并输入export NDK_ROOT="/Users/Empon/android-ndk-r8e" 然后再次运行脚本吗?
    • 非常感谢 m.ding,非常感谢您的帮助,很抱歉再次询问,但我在终端中遇到了另一个问题:它没有找到已经在 android-ndk 中的ndk-build -r8e 文件夹...我已经编辑了我的帖子以向您展示到底发生了什么,您对此有任何想法吗?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2014-10-26
    • 2012-10-04
    • 2015-05-02
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多