android - 摩艾安卓构建问题

标签 android lua moai

我从某人那里收到了一个可以运行的 Android 版本,但是当我尝试启动它时,我收到了错误..

09-23 07:25:26.976: E/AndroidRuntime(336): FATAL EXCEPTION: main
09-23 07:25:26.976: E/AndroidRuntime(336): java.lang.ExceptionInInitializerError
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.Class.newInstanceImpl(Native Method)
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.Class.newInstance(Class.java:1409)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.os.Looper.loop(Looper.java:123)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.ActivityThread.main(ActivityThread.java:3683)
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.reflect.Method.invokeNative(Native Method)
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.reflect.Method.invoke(Method.java:507)
09-23 07:25:26.976: E/AndroidRuntime(336):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-23 07:25:26.976: E/AndroidRuntime(336):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-23 07:25:26.976: E/AndroidRuntime(336):  at dalvik.system.NativeStart.main(Native Method)
09-23 07:25:26.976: E/AndroidRuntime(336): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load moai: findLibrary returned null
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.Runtime.loadLibrary(Runtime.java:429)
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.System.loadLibrary(System.java:554)
09-23 07:25:26.976: E/AndroidRuntime(336):  at com.getmoai.samples.MoaiActivity.<clinit>(MoaiActivity.java:67)
09-23 07:25:26.976: E/AndroidRuntime(336):  ... 15 more

谁能告诉我如何解决这个问题?

法尔科

最佳答案

需要验证的事情很少...

  • 您是否使用匹配的模拟器/AVD 镜像?如果您使用基于 x86 的 AVD 或 genymotion,请确保您的项目正在生成 x86 库。假设您有 NDK 库的源代码,很容易生成 x86 库以及其他库,只需添加

    APP_ABI := armeabi armeabi-v7a x86 mips

    或者简单地

    APP_ABI := 全部

    在您的 Application.mk 中(位于 jni 文件夹中)。如果您没有源(通常是 jni 文件夹),请使用匹配的设备进行测试或使用匹配的 AVD 模拟器配置。

  • 确保 eclipse 正确地将 native 库与您的 APK 打包在一起。您可以通过将 APK 文件(位于 bin 文件夹下)作为 zip 文件打开,然后检查是否有 lib 文件夹及其内部的 x86 文件夹或相应的文件来执行此操作。您正在使用的模拟器/avd 配置的 arch 文件夹。

    • 如果出现问题,为了让 Eclipse 构建和打包基于 NDK 的应用程序,您将需要 download Android NDK kit ,并在 Eclipse 中的 Window -> Preferences -> Android -> NDK 下配置 NDK 路径。
    • 在 Eclipse 中,您还需要右键单击该项目,然后为您的项目单击 Android Tools -> Add Native Support...。然后,您应该能够正确构建使用 NDK 的应用。

关于android - 摩艾安卓构建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25927891/

相关文章:

lua - Cocos2d-x 还是 Moai SDK?

lua - 尝试在 Lua 中使用 MOAICoroutine 索引本地 'self'

java - 如何调用服务类中的 Activity 方法?

Java 到 Android 转换

android - 如何为 Lua 的 VM/编译器重新编译已编译的字节码列表?

Lua 错误 : "Gnuplot terminal is not set"

android - 在 Android 中,无尽滚动在 fragment 中不起作用

java - UDP 将数据从一台设备发送到另一台设备

c++ - 将 Lua 包装到 C++ 类中的问题