News Grower

Независимое покрытие AI, стартапов и технологий.

Habr 02.04.2026 14:43 Инструменты разработки Затухает Архив

Создаем Java обертку для C++ класса в Android приложении, а также реализуем обратные вызовы из нэйтива

Кратко расскажу о себе и о том, зачем возникла необходимость в подобном. Я более десяти лет пишу приложения под Android, около 5 лет под IOS, и сейчас переношу свои наработки под десктопы. Приложения мои предназначены для сисадминов, это SSH клиент, сетевые сканеры и тд. В&nbs...

Погода сигнала

Затухает

Внимание снижается, но статья всё ещё помогает увидеть общую картину и продолжение темы.

Кратко расскажу о себе и о том, зачем возникла необходимость в подобном. Я более десяти лет пишу приложения под Android, около 5 лет под IOS, и сейчас переношу свои наработки под десктопы. Приложения мои предназначены для сисадминов, это SSH клиент, сетевые сканеры и тд. В общем, самое сложное — не сам интерфейс, а то, что под капотом. Когда я лишь начинал, я думал, что остановлюсь на платформе Android и стал пилить все на Java. Но затем осознал свою ошибку и исправил ее. На данный момент все мои приложения состоят из двух частей: общего для всех систем ядра на С++ и платформозависимого интерфейса, написанного на Java/Swift/C++ в зависимости от системы. Оговорюсь сразу, эта статья будет лишь своего рода вступлением. Я покажу, как работать с объектно‑ориентированным кодом на C++ в Java оболочке (в JNI нам доступен экспорт С функций). Инициализировать объект, делать из него вызовы, удалять, при этом имея аналогичный класс в оболочке, будто бы наш код был написан на Java. Задача эта не слишком сложная, но прежде чем опытные прогеры закрыли эту статью, я оговорюсь, что в следующей части мы уже будем работать с каллбэками — вызовами Java листенеров из нашего С++ кода, а вот это уже задача совсем нетривиальная, требующая понимания работы JNI и Dalvik. Но обо всем по порядку. Итак, у нас есть некий CPP класс и Java оболочка. Через JNI мы можем вызывать только С‑функции, то есть не объектный код. Так как же нам работать с ООП? Главная проблема — не столько вызовы, сколько хранение адреса объекта нативного класса. Лично для себя я нашел решение — хранить его в Java классе, как long. То есть, у нас получается приблизительно такой код:

Оставайтесь в сигнале

Следить за темой «Создаем Java обертку для C++ класса в Android приложении, а также реализуем обратные вызовы из нэйтива»

Следите не только за этой публикацией, но и за её продолжением: новыми материалами, соседними источниками и развитием сюжета.

Сначала отправим письмо для подтверждения, а дальше — только содержательные дайджесты.

Карта темы

Понять тему за минуту

Быстрый вход в историю: почему она важна сейчас, кто в ней участвует и куда идти дальше за контекстом.

Почему это важно сейчас

У истории уже есть 6 связанных материала, поэтому отсюда легко перейти к продолжению темы.
Сюжет постоянно вращается вокруг Android, Habr, and iOS, поэтому страницы сущностей дадут самый быстрый контекст.
Habr уже выпустил ещё 4 продолжения по этой теме.

Карта темы

Открыть живую карту этой истории

Посмотрите, какие сущности, линии сюжета, источники и follow-up материалы формируют эту историю прямо сейчас.

Нажимайте на узлы

Сущность Линия сюжета Материал Хаб Источник

Story timeline

Продолжить следить за темой

Короткая линия событий и follow-up материалов, чтобы быстро понять ход темы.

03.07.2026 12:57 3DNews Software

Nothing выпустила последнее обновление для Phone (1) и прекратила поддержку

Nothing официально прекратила выпуск обновлений ПО и поддержку модели Phone (1). Первый смартфон компании получил последнее обновление, в...

02.07.2026 14:45 3DNews Software

Google не смогла отбиться от рекордного штрафа в €4,1 млрд в Европе

Google проиграла многолетнюю тяжбу, в которой пыталась снять с себя рекордный антимонопольный штраф, выписанный европейскими чиновниками ...

01.07.2026 15:47 3DNews Software

Samsung закроет свой мессенджер в пользу аналога Google в этом месяце

Как и было объявлено ранее в этом году приложение для работы с сообщениями Samsung Messages перестанет функционировать в этом месяце, хот...

01.07.2026 14:06 3DNews Software

Google радикально усложнила разблокировку смартфонов на Android 17

На майской конференции Google The Android Show: I/O Edition компания сообщила, что усилит защиту экрана блокировки в Android 17, чтобы ус...

01.07.2026 10:59 Anti-Malware News

Android-троян Glitch SPY превращает смартфоны в шпионский пульт

Исследователи обнаружили новую Android-платформу для удалённого доступа под названием Glitch SPY, которая распространяется через фейковый...

02.04.2026 14:43 Habr

Создаем Java обертку для C++ класса в Android приложении, а также реализуем обратные вызовы из нэйтива

Кратко расскажу о себе и о том, зачем возникла необходимость в подобном. Я более десяти лет пишу приложения под Android, около 5 лет под ...

Насколько можно опираться

Сигнал и надёжность Habr

Источник работает в быстрый ритме: 0% последних материалов попадают в горячее окно, а 0% дают выраженный поисковый сигнал.

Рискованный

Надёжность

10

Свежесть

22

Источников в сюжете

3

Похожие статьи

Еще материалы, которые пересекаются по тегам, источнику или категории.

Nothing выпустила последнее обновление для Phone (1) и прекратила поддержку
Рост Горячо

Nothing выпустила последнее обновление для Phone (1) и прекратила поддержку

Nothing официально прекратила выпуск обновлений ПО и поддержку модели Phone (1). Первый смартфон компании получил последнее обновление, включающее патч безопасности Android за и...

Погода сигнала

Импульс быстро усиливается, поэтому это хороший ранний вход в тему.

Почему сейчас

Это один из самых свежих сюжетов, у которого ещё только формируется продолжение.

Google не смогла отбиться от рекордного штрафа в €4,1 млрд в Европе
Рост Горячо

Google не смогла отбиться от рекордного штрафа в €4,1 млрд в Европе

Google проиграла многолетнюю тяжбу, в которой пыталась снять с себя рекордный антимонопольный штраф, выписанный европейскими чиновниками за злоупотребление доминирующим положени...

Погода сигнала

Импульс быстро усиливается, поэтому это хороший ранний вход в тему.

Почему сейчас

Это один из самых свежих сюжетов, у которого ещё только формируется продолжение.

Samsung закроет свой мессенджер в пользу аналога Google в этом месяце
Рост Горячо

Samsung закроет свой мессенджер в пользу аналога Google в этом месяце

Как и было объявлено ранее в этом году приложение для работы с сообщениями Samsung Messages перестанет функционировать в этом месяце, хотя точная дата закрытия сервиса не была о...

Погода сигнала

Импульс быстро усиливается, поэтому это хороший ранний вход в тему.

Почему сейчас

Это один из самых свежих сюжетов, у которого ещё только формируется продолжение.

Google радикально усложнила разблокировку смартфонов на Android 17
Рост Горячо

Google радикально усложнила разблокировку смартфонов на Android 17

На майской конференции Google The Android Show: I/O Edition компания сообщила, что усилит защиту экрана блокировки в Android 17, чтобы усложнить задачу злоумышленникам, которые ...

Погода сигнала

Импульс быстро усиливается, поэтому это хороший ранний вход в тему.

Почему сейчас

Это один из самых свежих сюжетов, у которого ещё только формируется продолжение.

Еще материалы от Habr

Свежие публикации и продолжение темы от той же редакции.

Открыть страницу источника
Промпты Nano Banana для фото и изображений: Бесплатно для Нано Банана Про
Стабильно Тёпло

Промпты Nano Banana для фото и изображений: Бесплатно для Нано Банана Про

Создание безупречного визуала в Nano Banana — это не вопрос везения, а результат правильной коммуникации с нейросетью. В отличие от простых моделей прошлого, этот инструмент спо...

Погода сигнала

История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.

Почему сейчас

История уже пережила первый заголовок, но всё ещё активно развивается.

Пошаговая инструкция установки MTProto прокси через Service Node + VLESS
Стабильно Тёпло

Пошаговая инструкция установки MTProto прокси через Service Node + VLESS

Если вы когда-нибудь пытались поднять прокси для Telegram на сервере, то знаете, что такое «мессенджер не грузит». В этой инструкции я предлагаю рассмотреть подробную, пошаговую...

Погода сигнала

История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.

Почему сейчас

История уже пережила первый заголовок, но всё ещё активно развивается.

Накрутка поведенческих факторов для роста позиций — реально ли за день занять топ 1 Яндекса
Стабильно Тёпло

Накрутка поведенческих факторов для роста позиций — реально ли за день занять топ 1 Яндекса

Знаете, можно много долго спорить о том, что вот там умеют делать, а наши ничего не умеют. Но подход Яндекса к формированию поисковой выдачи мне всегда импонировал больше, нежел...

Погода сигнала

История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.

Почему сейчас

История уже пережила первый заголовок, но всё ещё активно развивается.

Тени истории. Ренессанс – революция, подарившая миру главный инструмент шпионов
Стабильно Тёпло

Тени истории. Ренессанс – революция, подарившая миру главный инструмент шпионов

Вторая статья цикла о криптографии, в котором мы рассказываем, как человечество училось прятать и расшифровывать секреты — от древних методов до современных алгоритмов. Сегодня ...

Погода сигнала

История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.

Почему сейчас

История уже пережила первый заголовок, но всё ещё активно развивается.