【问题标题】:moai android build issuemoai android构建问题
【发布时间】:2014-11-13 16:37:32
【问题描述】:

我收到了一个可以从某人那里运行的 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

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

法尔科

【问题讨论】:

  • 请检查libs文件夹是否有libmoai.so文件。
  • 是的,我在库中有一个 libmoai.so 文件
  • 您使用的是什么 IDE? (Eclipse 或 Android Studio?)问题肯定出在 System.loadLibrary ("moai");。你是在模拟器上测试还是在真机上测试?
  • Eclipse 和模拟器测试

标签: android lua moai


【解决方案1】:

有几件事需要验证...

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

    APP_ABI := armeabi armeabi-v7a x86 mips

    或者干脆

    APP_ABI := all

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

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

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

【讨论】:

    【解决方案2】:

    我怀疑编译的东西。 请从项目的主目录运行以下命令

    gradlew cleanassembledebug

    这将首先清理您的项目,然后尝试编译它。希望它有效。

    【讨论】:

      【解决方案3】:

      这似乎只是虚拟设备的问题。具体是什么我不知道。

      我设法在连接的安卓手机上构建和加载应用程序

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-09
        • 2015-01-22
        • 2015-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多