2017-01-26 46 views
0

我在android平台上为ARM64-v8构建了一个原生插件(共享库,.so)。为什么Unity3D只能在android平台上加载32位原生插件(.so)?

它适用于普通的android应用程序。

但是,当Unity3D加载它时,我刚收到一条错误消息“... .so是64位而不是32位....”。

我刚刚尝试使用il2cpp与Unity3D构建64位应用程序,但它也不起作用。

Unity3D不支持android平台上的64位原生插件吗?

或者

如何使用它,64位本地插件Android平台?

请让我想一些想法。

谢谢。

目前我使用的工具如下:

操作系统 - 视窗10 64位

Unity3D(?编辑器) - 5.5.03f个人(64位)

AndroidNDK64 - 的Android NDK r10e为il2cpp

+0

你在Unity项目中的什么目录中放入了.so插件? – Programmer

+0

@Programmer我刚刚在Assets/Plugins中试过它。 – TwisTeDStRiDeR

+0

编号。有两个已知的有效[目录](https://docs.unity3d.com/Manual/PluginsForAndroid.html)Android插件。 'Assets/Plugins/Android/libs/x86 /'**和**'Assets/Plugins/Android/libs/armeabi-v7a /'。把它放在'Assets/Plugins/Android/libs/x86_64 /'中。让我知道,如果这实际上工作。 x86_64适用于64位。也许它不被支持,但首先尝试。 – Programmer

回答

2

统一目前不支持64位本地插件在Android上。所以你必须使用32位版本。请注意Android目标(在Unity编辑器中)的播放器设置中的“架构”选项的值。它们是ARMv7和x86,都是32位体系结构。

Unity在未来某个时候可以支持Android的64位目标,但我不知道目前有什么计划。

+0

这就是我的想法。如果您在“Assets/Plugins/Android”目录中创建['x86_64'](https://developer.android.com/ndk/guides/x86-64.html#over)文件夹,该怎么办?这会工作吗? – Programmer

+0

谢谢,乔希。 然后,** il2cpp **只能在** iOS **上为64位架构创建一个吗? – TwisTeDStRiDeR

+0

@Programmer不,这不会让64位插件在Android上运行。他们根本不支持。 –

相关问题