【问题标题】:java.lang.UnsatisfiedLinkError: Cannot load library: load_library[1098]: Library '/system/lib/libhoudini.so' not foundjava.lang.UnsatisfiedLinkError:无法加载库:load_library [1098]:找不到库'/system/lib/libhoudini.so'
【发布时间】:2015-10-07 10:23:52
【问题描述】:

我是新的 cocos2dx v3.7 开发者。现在我在android中创建项目并设置所有环境变量。我使用eclipse IDE在windows 64位中创建游戏。 我使用 Apache_ant 1.9.4 和 NDK_root=android-ndk-r10d 。 我还在命令 promt 中使用 build_native.py 文件运行项目。当我在 genymotion 或 avd 中运行项目时,项目崩溃和 logcat 显示错误

10-07 10:09:49.889: E/SocketStream(120): readFully 正在等待 102592 字节,得到 16192 10-07 10:09:49.897: E/SocketStream(120): readFully 正在等待 86400 字节,得到 16192 10-07 10:09:49.901: E/SocketStream(120): readFully 正在等待 70208 字节,得到 16192 10-07 10:09:49.905: E/SocketStream(120): readFully 正在等待 54016 字节,得到 16192 10-07 10:09:49.909: E/SocketStream(120): readFully 正在等待 37824 字节,得到 16192 10-07 10:09:49.917: E/SocketStream(120): readFully 正在等待 21632 字节,得到 16192 10-07 10:09:50.685:E/AndroidRuntime(2333):致命异常:主要 10-07 10:09:50.685: E/AndroidRuntime(2333): java.lang.UnsatisfiedLinkError: 无法加载库: load_library[1098]: 找不到库'/system/lib/libhoudini.so' 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 java.lang.Runtime.loadLibrary(Runtime.java:370) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 java.lang.System.loadLibrary(System.java:535) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:207) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:222) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 android.app.Activity.performCreate(Activity.java:5008) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 android.app.ActivityThread.access$600(ActivityThread.java:130) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 android.os.Handler.dispatchMessage(Handler.java:99) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 android.os.Looper.loop(Looper.java:137) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 android.app.ActivityThread.main(ActivityThread.java:4745) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 java.lang.reflect.Method.invokeNative(Native Method) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 java.lang.reflect.Method.invoke(Method.java:511) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 10-07 10:09:50.685: E/AndroidRuntime(2333): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-07 10:09:50.685: E/AndroidRuntime(2333): at dalvik.system.NativeStart.main(Native Method) 10-07 10:09:51.001: E/SocketStream(120): readFully 正在等待 764896 字节,得到 16192 10-07 10:09:51.005: E/SocketStream(120): readFully 正在等待 748704 字节,得到 16192

我该如何解决这个错误;在此先感谢。

【问题讨论】:

  • genymotion 是 x86 - 你确定你为 x86 而不仅仅是 ARM 编译吗?
  • 如何识别 genymotion 是 x86 还是 ARM。
  • 我尝试使用 intel_x86 在 avd 中运行项目,然后在 logcat 中显示另一个问题 java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1311]: 788 cannot locate 'srand'.... ....我在 api 级别 10 2.2.3 上运行

标签: android eclipse cocos2d-x-3.0


【解决方案1】:

x86和ARM不同,需要不同的.so文件,可以这样输入如下命令:

ndk-build APP_ABI="armeabi armeabi-v7a x86 mips"

然后刷新你的项目并在 Genymotion 中运行它,你就会成功! 祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多