2015-10-05 5 views
1

Основываясь на моем понимании Android, кажется, что Java-код сначала преобразуется в файлы .class, которые затем преобразуются в собственный формат байтового кода Dalvik. Это может быть обратное преобразование обратно в исходный код Java.Что происходит с собственным кодом (JNI) при компиляции приложения Android?

Мои вопросы: что происходит с собственным кодом (написанным на C++), который используется в JNI? Кто-нибудь сможет получить исходный код C++? Или они просто получат байтовый код C++?

EDIT: Я не знаю, что происходит с собственным кодом, когда приложение скомпилировано для Android. Может ли кто-нибудь объяснить, что происходит, когда вы используете JNI?

+0

Ничего. Они получат собственный машинный код. –

+0

поэтому код C++ в java сложнее разбирать, чем просто приложение java? –

+0

Далвик оставляет код на C++ только для генерации байтового кода? –

ответ

0

JNI-вызовы связаны во время выполнения. Библиотеки хранятся как есть. Android основан на ядре Linux, поэтому никаких проблем с запуском библиотеки, собранной для соответствующей архитектуры

+0

поэтому C++ написанный для JNI становится родным кодом? –

+1

@John Да, это собственный код (именно поэтому он называется JNI) – teivaz

Смежные вопросы