没有找到void com.unity3d.player.UnityPlayer.nativeRestartActivityIndi​​cator()的实现

Dev*_*evT 11 android abi unity-game-engine unsatisfiedlinkerror arcore

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

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

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

java.lang.UnsatisfiedLinkError中:未找到无效com.unity3d.player.UnityPlayer.nativeRestartActivityIndi​​cator()实现在com.unity3d.player.UnityPlayer(试过Java_com_unity3d_player_UnityPlayer_nativeRestartActivityIndi​​cator和Java_com_unity3d_player_UnityPlayer_nativeRestartActivityIndi​​cator__)在com.unity3d.player.UnityPlayer.nativeRestartActivityIndi​​cator(本机方法) .resume(未知来源:37)com.rccl.soakTest.UnityPlayerActivity.onResume(UnityPlayerActivity.java:58)在android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1361)的android.app.Activity.performResume(活动) .java:7344)在Android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3636)的android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3828)的android.app.ActivityThread.performResumeActivity(ActivityThread.java:3763)在android.app.ActivityThread.-wrap11(未知来源:0)在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1696)atr 在android.app.Looper.loop(Looper.java:164)的oid.os.Handler.dispatchMessage(Handler.java:105)位于android.app.ActivityThread.main(ActivityThread.java:6938)的java.lang.reflect .Method.invoke(Native Method)位于com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:327)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

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

小智 5

如果在 中导出unity项目,则build.gradle需要在你的android项目app.gradle中加入这句话:

defaultConfig {
    ndk {
        abiFilters 'armeabi-v7a', 'x86'
    }
}
Run Code Online (Sandbox Code Playgroud)


Moh*_*our 5

尝试启用ARM64

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

  • 是的,您是对的,将“脚本后端”更改为 IL2CPP 将生成 ARM64,但 Unity 项目中的所有 SDK 都应将其支持扩展到 ARM64,以便 Unity 生成这些文件。 (2认同)