Юрий Береза, Shturmann
Окончил факультет приборостроения Московской государственной академии приборостроения и информатики. В 2004 году пришел на работу в отдел мобильных разработок компании «Макцентр». Занимался разработкой под огромное число мобильных платформ: Windows Mobile, Symbian, Android, Embedded linux и iOS. В данный момент работает руководителем группы в компании «Контент Мастер», где занимается разработкой автомобильной навигации Shturmann.
Тема доклада
Разработка приложений для Android на С++.
Тезисы
Платформа Android становится популярнее с каждым годом. Несмотря на то, что основным языком разработки приложений для Android является Java, часто для написания кросс-платформенных приложений или при использовании сторонних библиотек программистам приходится использовать С или С++. К сожалению, разработка на С++ для платформы Android описана довольно скупо, и зачастую приходится тратить много времени на поиск нужной информации. В докладе будут представлены ответы на основные вопросы по всему циклу разработки: как писать С++ код, который будет работать на Android, как его отлаживать и находить ошибки во время падения приложений, есть ли возможность профилировать код и где искать дополнительную информацию по этим вопросам.
5. Что такое NDK?
http://developer.android.com/sdk/ndk/index.html
• Заголовочные файлы и библиотеки
• GCC компилятор
• Система сборки приложений
• Набор дополнительных утилит
5
6. Создание проекта
• Запустить Eclipse
• Указать в настройках
путь к SDK
• Запустить мастер
создания Android
приложения
6
26. Дополнительные библиотеки
• OpenGL ES 1.1 / OpenGL ES 2.0
• OpenSL
• C++ и wchar_t
• http://www.crystax.net/ru/android/ndk
• Boost
• https://github.com/MysticTreeGames/Boost-for-Android
• CURL
26
36. Разбираемся с ошибками
Stack frame #00 pc 00000716
/data/data/com.shturmann.yac/lib/libYaC.so:
Routine get_a in /home/ybereza/src/YaC/yac/jni/YaC.cpp:13
Stack frame #01 pc 00000740
/data/data/com.shturmann.yac/lib/libYaC.so:
Routine Java_com_shturmann_yac_YaCActivity_doSomething
in /home/ybereza/src/YaC/yac/jni/YaC.cpp:24
36
37. Разбираемся с ошибками
Stack frame #00 pc 00000716
/data/data/com.shturmann.yac/lib/libYaC.so:
Routine get_a in /home/ybereza/src/YaC/yac/jni/YaC.cpp:13
Stack frame #01 pc 00000740
/data/data/com.shturmann.yac/lib/libYaC.so:
Routine Java_com_shturmann_yac_YaCActivity_doSomething
in /home/ybereza/src/YaC/yac/jni/YaC.cpp:24
37
38. Разбираемся с ошибками
Stack frame #00 pc 00000716
/data/data/com.shturmann.yac/lib/libYaC.so:
Routine get_a in /home/ybereza/src/YaC/yac/jni/YaC.cpp:13
Stack frame #01 pc 00000740
/data/data/com.shturmann.yac/lib/libYaC.so:
Routine Java_com_shturmann_yac_YaCActivity_doSomething
in /home/ybereza/src/YaC/yac/jni/YaC.cpp:24
38