Нужно написать мобильное приложение на android, но основная часть кода (так сказать, ядро) должна быть написана на Си. Можно ли как-то объединить эти два языка? Какие есть библиотеки для этого? Если у кого было такое - поделитесь) Нужно для курсача.
Да, это возможно. Для сишной части надо использовать Android NDK, Java часть где и обычный SDK.
NDK это по сути сишный компилятор GNU слегка подрихтованный под Android и обогащенный специфическими либами.
Связка Java-C работает через механизм JNI (Java Native Interface)
Простые примеры вызова из Java Android к сишным функциям можно посмотреть здесь
Стандартный паттерн Java-C для Android следующий:
Необходимо учитывать, что Android работает на нескольких вычислительных платформах/архитектурах, соответственно, чтобы он работал везде сишная часть должна генерировать несколько библиотек. На текущий момент имеется 7 поддерживаемых NDK архитектур:
Подробнее здесь
P.S. Отдельно отмечу, что писать под NDK занятие тяжелое и не очень благодарное. Особенно отладка кода - это жесть. Зато результат великолепен.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники