среда, 29 мая 2013 г.

Подключение и отладка Native библиотеки к MonoAndroid проекту.

Подготовка

добавьте пути к cygwin, инструментам android-sdk и android-ndk в PATH. C:\cygwin\bin;c:\AndroidDev\android-ndk-r6-crystax-2;C:\AndroidDev\android-sdk;C:\AndroidDev\android-sdk\tools;C:\AndroidDev\android-sdk\platform-tools</li>
установить значение переменной ANDROID_NDK_ROOT=/cygdrive/c/AndroidDev/android-ndk-r6-crystax-2

 В некоторых старых версиях android-ndk (r6 в частности) также рекомендовалось отредактировать файл build/core/build-binary.mk, а именно: закомментировать строчку: $(hide) $(call cmd-strip, $(PRIVATE_DST))

Создадим новый проект



Создадим в каталоге проекта файлы для построения Navite библиотеки




Создадим новый класс для вызова native методов из mono части



Из Cygwin построим native библиотеку с ключом NDK_DEBUG=1
добавим построенные библиотеки к проекту



поменяем в свойствах у них Build Action и Copy to Output Directory

сохраним и закроем visual studio и добавим в проектном файле в секцию native библиотек строчку <Abi> armeabi</Abi>

добавим вызов сишного кода в mono проект

добавим postbuild action


Нажмите Run и запустите программу на устройстве или симуляторе.
Перейдем в cygwin в c:\projects\SampleGdb\obj\Debug\android\libs\armeabi\ и запустим ndk-gdb
 для проверки вызовем i func если все правильно, то на экране будет примерно такая картинка:
наслаждаемся отладкой в gdb


Комментариев нет:

Отправить комментарий