2017-01-26 17 views
0

Я построил собственный плагин (разделяемая библиотека, .so) для ARM64-v8 на платформе Android.Почему Unity3D может загружать только 32-битный родной плагин (.so) на платформе Android?

Он хорошо работает с обычными приложениями для Android.

Но, когда Unity3D загружает его, я просто получил сообщение об ошибке с «... .so 64-битным, а не 32-битным ...».

Я просто попытался использовать il2cpp для создания 64-разрядного приложения с Unity3D, но он также не работает.

Неужели Unity3D не поддерживает 64-битный родной плагин на платформе Android?

Или

Как я могу использовать его, 64-битный родной плагин на андроид платформе?

Пожалуйста, дайте мне понять.

Спасибо.

В настоящее время инструменты, что я использую, являются следующие:

ОС - Windows 10 64-разрядный

Unity3D (? Editor) - 5.5.03f Personal (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

Unity не поддерживает 64-разрядные родные плагины на Android. Таким образом, вы должны использовать 32-битную версию. Обратите внимание на значения параметра «Архитектура» в настройках проигрывателя для Android-цели (в редакторе Unity). Это ARMv7 и x86, обе 32-разрядные архитектуры.

Unity может поддерживать 64-битные цели для Android в какой-то момент в будущем, но я не знаю никаких текущих планов сделать это.

+0

Вот что я подумал. Что делать, если вы создаете папку ['x86_64'] (https://developer.android.com/ndk/guides/x86-64.html#over) в директории' Assets/Plugins/Android'? Будет ли это работать? – Programmer

+0

Спасибо, Джош. Тогда, делает ** il2cpp ** работает только на ** iOS **, чтобы построить один для 64-битной архитектуры? – TwisTeDStRiDeR

+0

@Programmer Нет, это не сделает 64-битные плагины работать на Android. Они просто не поддерживаются. –