функции, которые скомпилили в библиотеку и они потом используются при написании оболочки на самой джаве, например в android studio?
Гугл согласен с этим утверждением
Моя тема. В сущности вот как, если речь про плюсы на Андройде: на плюсах можно реализовать либо часть какой-то бизнес логики, либо вообще все. Если часть - то она вызывается из приложения, написанного на котлине\джаве. Если всё, то на плюсах еще и графика рисуется с помощью GLES (OpenGL ES). Вроде есть другие штуки, кроме OpenGL, но не суть. Суть в том, что тогда Android API используется по минимуму, чисто для создания "окна" (активити), на котором всё рендерится.
Есть пара способов вообще не касаться джавы и всё делать на си/плюсах
Но системный интерфейс же всё равно через JNI?
ну, процентов 60 да
там надо сделать манифест, что у тебя активити типа из нативной библиотеки грузится
Я просто после этого подумал, что, возможно, я что-то важное упустил и можно без JNI обойтись. :)
подскажешь как и куда глядеть?
Первый https://developer.android.com/ndk/samples/sample_na
Второй https://github.com/cnlohr/rawdrawandroid
А там разве не нужно почти все отмывать в JVM?
какие-то api есть чисто нативные, но шаг влево, шаг вправо, и да(
Андроид увы повязан на жвм. Вот айос - совсем другое дело
Мне очень нравится подход реакт натив - там запускается заранее написанная ими (кто придумал реакт натив) программа на C++, но что она будет показывать это скриптуется на typescript. Она считывает скрипт, в скрипте декларативно описано (почти так же как работает html ) что показывать и где. А хост программа дергает методы операционной системы, она знает ( в ней это зашито уже), что если надо показать кнопку, то дергай такой то метод (там вроде даже интерфейс на чистом Си между хост программой и IOS)
разве для Android нет NDK?
Как раз речь о NDK, но сути дела не меняет, там каждый второй объект надо через жвм регать и через жвм анрегать
хм. Не писал для Andriod, но звучит жутко. Как тогда C++ OSS проекты типа https://github.com/OpenXcom/OpenXcom переезжают на Andriod. Да еще и общую кодовою базу имеют с PC.
Обсуждают сегодня