2

I received a android build that works from someone but when I try to launch it I receive errors..

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

Can anybody tell me how I can resolve this ?

Falko

4

3 回答 3

2

几件事要验证...

  • 您是否使用匹配的模拟器/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 的应用程序,需要下载 Android NDK 工具包,并在 Eclipse 下配置 NDK 路径Window -> Preferences -> Android -> NDK
    • 在 Eclipse 中,您还需要右键单击项目并单击Android Tools -> Add Native Support...您的项目。然后,您应该能够正确构建使用 NDK 的应用程序。
于 2014-09-29T05:50:51.837 回答
0

这似乎只是虚拟设备的问题。它到底是什么我不知道。

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

于 2014-09-30T15:41:53.943 回答
0

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

gradlew clean 组装调试

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

于 2014-09-30T05:49:25.727 回答