首页 > 解决方案 > 没有找到 void com.unity3d.player.UnityPlayer.nativeRestartActivityIndi​​cator() 的实现

问题描述

我是 Unity 的新手,我正在尝试将 Unity 游戏(它具有 ARcore)集成到原生 Android 应用程序中。

我能够在新的 HelloWorld 应用程序中启动统一,但无法在我的真实应用程序(具有其他模块)中启动。

注意:当我从 Unity 项目构建一个 android 库时,我包括 armeabi-v7a 和 x86 架构。

java.lang.UnsatisfiedLinkError: No implementation found for void com.unity3d.player.UnityPlayer.nativeRestartActivityIndicator() (tried Java_com_unity3d_player_UnityPlayer_nativeRestartActivityIndicator and Java_com_unity3d_player_UnityPlayer_nativeRestartActivityIndicator__)
        at com.unity3d.player.UnityPlayer.nativeRestartActivityIndicator(Native Method)
        at com.unity3d.player.UnityPlayer.resume(Unknown Source:37)
        at com.rccl.soakTest.UnityPlayerActivity.onResume(UnityPlayerActivity.java:58)
        at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1361)
        at android.app.Activity.performResume(Activity.java:7344)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3763)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3828)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3036)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6938)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

在以下设备上测试:SamsungS8 (Oreo)、Emulator-Nexus 6(Oreo)

标签: androidunity3dabiarcoreunsatisfiedlinkerror

解决方案


尝试启用ARM64

  1. 更新统一到2018.3
  2. 在 android 播放器设置中将“脚本后端”更改为IL2CPP
  3. 在 android 播放器设置中,将ARM64复选框标记为选中。

推荐阅读