В статье Геннадий Денисов, руководитель одной из команд разработки мобильного Яндекс Браузера для Android, рассматривает опыт интеграции C++ кода в мобильное приложение Браузера. Описываются основные нюансы работы с Java Native Interface (JNI), а также инструменты, которые упрощают разработку. Подробно изложены способы создания простой JNI-библиотеки с нуля, её сборки и внедрения в код для Android. Особое внимание уделяется подходам к созданию и генерации JNI-кода, а также демонстрируется реализация и тестирование кода на стыке Android и C++ на конкретном примере небольшого куска в приложении мобильного Браузера. В завершение перечисляются основные сложности при написании нативных библиотек и предлагаются методы их решения, а также рекомендуются полезные инструменты для разработчиков.