2017-01-26 52 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上運行。他們根本不支持。 –

相關問題