Архив рубрики: C#

Будни юнитишника: сохраняйте глобальные ссылки на JNI объекты

Когда вы получили IntPtr на нативный Android объект, то GC может в какой-то момент почистить её (скорей всего, после выхода из локального скопа). Из-за того, что я одну ссылка не сохранил, дебажил код много часов, чтоб причину крашей найти.

Ещё хуже то, что стектрейс при краше никак не помогает.

Читать далее

Unity-android-native: автоопределение типа при возврате объекта из JNI

Хорошо, когда вы знаете конкретный класс, который возвращает метод. Но что делать, если метод, к примеру getApplicationContext, возвращает абстрактный тип?

Пока что единственным вариантом вижу получения имени класса у полученного объекта, потом на основании этого имени нахожу соответствующий C# класс.

Читать далее

Библиотека для работы с Android sdk из C# кода

Многим приходится работать с Java sdk из Unity3d либо используя самописные плагины, либо, если достаточно базовых возможностей sdk, с помощью юнитишных классов AndroidJavaClass и AndroidJavaObject.

Кто работал с этими классами знает, насколько ужасно выглядит код. Меня это тоже достало и решил для текущего проекта небольшую библиотеку сделать. Чуток причесал и залил на гитхаб. Постепенно буду расширять возможности библиотеки.

Читать далее