Я пытаюсь углубиться во внутренности Android, я знаю, как использовать NDK, возможно, даже как он работает, но у меня есть вопрос о Native Activity и других нативных частях, предоставленных NDK.
Насколько я знаю, Android Desktop Environment (графическое окружение) написано и работает на Java. Это часть Android Framework (синий цвет на известной диаграмме).
Если это так, то при запуске кода C / C ++ из приложения Android мы запускаем его на уровне Linux, за java, dalvik и всеми высокоуровневыми вещами.
Мой вопрос: как у нас может быть NativeActivity, создать его (нарисовать с помощью opengl) — это одно, но где он в архитектуре системы Android, все еще работает как-то внутри экземпляра процесса dalvik.
Главное, что меня интересует, это как происходит общение с простыми (java) действиями.
Пожалуйста, помогите понять, может быть, кто-то может представить своего рода диаграмму, чтобы лучше понять это.
Спасибо заранее.
при запуске кода C / C ++ из приложения для Android вы не запускаете его «за java, dalvik и всеми высокоуровневыми вещами». Это выполняется Android Runtime или Dalvik.
Нативное действие выполняет вызовы Java для фреймворка Android, используя JNI (собственный интерфейс Java), для создания своего действия.