родной плагин Android кажется непригодным - PullRequest
0 голосов
/ 07 марта 2019

Я довольно новичок в разработке Unity.Я следовал многим различным учебным пособиям относительно использования собственных плагинов в Unity.Те, которые состоят в компиляции библиотек .dll и запуске их в редакторе, прекрасно работают.

Но компиляция .so файла с использованием android NDK и вызов его в сценарии C # в Unity кажется невозможным.Даже с этим триальным примером , он всегда выдает DllNotFoundException.Библиотека в этом примере не содержит ничего другого, поэтому проблема не в том, что мне не хватает дополнительных библиотек.

Я использую Unity 2018.3.7f1 и убедился, что библиотеки помеченысовместим с Android, а также имеет набор сборки для Android.У меня машина с Windows 10.

[Редактировать]: Я пытался развернуть ее на Samsung Galaxy S7.Устройство имеет 64 бита, поэтому мне пришлось внести несколько изменений в редакторе Unity (выберите IL2CPP в настройках проигрывателя и т. Д.). Я понимаю, что редактор Unity всегда будет выдавать ошибки, поскольку он не может обнаружитьПлагин для Android.Однако результат в редакторе и на устройстве одинаков, то есть пустой синий экран.Я подумал, что проблема в DllNotfound, но теперь я понимаю, что это может быть не так.

1 Ответ

0 голосов
/ 07 марта 2019

Вы пытаетесь запустить в редакторе?Если да, то возникнет исключение.Попробуйте взять Build in Mobile

или вам нужно добавить платформо-зависимый код компиляции для запуска без ошибок в Editor

#if !UNITY_EDITOR 
    [DllImport("native")]
    private static extern float add(float x, float y);
#endif
    void OnGUI ()
    {
        float x = 3;
        float y = 10;
#if !UNITY_EDITOR
        GUI.Label (new Rect (15, 125, 450, 100), "adding " + x  + " and " + y + " in native code equals " + add(x,y));

#endif
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...