【问题标题】:cocos2dx Android Studio crash in System.loadLibrary(libName)System.loadLibrary(libName) 中的 cocos2dx Android Studio 崩溃
【发布时间】:2016-06-30 10:30:15
【问题描述】:

我想在mac中使用cocos2dx Android Studio。

我下载了:

android-ndk-r9d、android studio 2.1.1 和 apache-ant-1.9.7。 cocos2dx 3.11.1

现在我使用命令成功创建了一个项目:

cocos new TEST -p com.your_company.test -l cpp -d /Users/mac-corei5-1/Desktop/Sayem/cocos2dx/Project

现在,当我尝试在模拟器或 Android 设备中的 Android Studio 中运行项目时,它在 System.loadLibrary(libName); where libName=MyGame
中崩溃 我在 logcat 中得到了这个崩溃日志

  06-30 04:46:15.291 4866-4866/com.your_company.test E/AndroidRuntime: FATAL EXCEPTION: main
                 Process: com.your_company.test, PID: 4866
    java.lang.UnsatisfiedLinkError: Couldn't load MyGame from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.your_company.test-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.your_company.test-2, /vendor/lib, /system/lib]]]: findLibrary returned null
                     at java.lang.Runtime.loadLibrary(Runtime.java:358)
                     at java.lang.System.loadLibrary(System.java:526)
                     at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:246)
                     at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:260)
                     at android.app.Activity.performCreate(Activity.java:5231)
                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
                     at android.app.ActivityThread.access$800(ActivityThread.java:135)
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
                     at android.os.Handler.dispatchMessage(Handler.java:102)
                     at android.os.Looper.loop(Looper.java:136)
                     at android.app.ActivityThread.main(ActivityThread.java:5017)
                     at java.lang.reflect.Method.invokeNative(Native Method)
                     at java.lang.reflect.Method.invoke(Method.java:515)
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                     at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

  • 目前对Android studio的支持不是很好,github仓库里有个补丁可以更好的在Android Studio中运行,debug等。但是cocos2d-x官方发布版本中没有也许适用于 3.13 版。您应该查看 Cocos2d-x 论坛。虽然 Android Studio 2.2 是预览版,但很难确保补丁正常工作。我推荐你使用 Eclipse

标签: android c++ android-studio android-ndk cocos2d-x


【解决方案1】:

即使认为 Cocos2d-x 3.10+ 已经购买了 android studio 支持和 gradle build 支持,它仍然有很多 bug。您的构建崩溃的原因是您实际上并未使用 Android-Studio 构建选项创建 .so 文件。尝试运行

cocos compile -p android --android-studio

通过 CLI 以便正确生成文件。

然后您可以通过 Android-studio 运行该项目,但请记住,任何时候您更改游戏源时都必须运行 CLI 命令。尚未找到适当的解决方法。

【讨论】:

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