Подтвердить что ты не робот

Вызов библиотеки С++ из Java в Android

Можно ли вызывать библиотеку С++ из приложения для Android? Если да, то как?

У меня есть нулевой опыт в программировании на Android (хотя некоторые примеры программирования на Java), но я все равно хотел бы знать, возможно ли это. Учитывая количество отличных библиотек С++, я был бы удивлен, если бы не было возможности вызывать библиотеку С++ из приложения для Android.

4b9b3361

Ответ 2

Вам нужно написать Java Native Interface (JNI), чтобы иметь возможность вызывать собственные (c/С++) библиотеки из кода Java Java.
Иерархия похожа:

+++++++++++++++++++++++++++++++++++        
|     Android Application         |        
+++++++++++++++++++++++++++++++++++        


+++++++++++++++++++++++++++++++++++  
|  Android Application Framework  |
+++++++++++++++++++++++++++++++++++  


+++++++++++++++++++++++++++++++++++    
|     Java Native Interface       |
+++++++++++++++++++++++++++++++++++


+++++++++++++++++++++++++++++++++++
|      C/C++ Native Libraries     |
+++++++++++++++++++++++++++++++++++

Ответ 3

Да, вы можете. Как упоминалось в предыдущих плакатах, вы создаете свою С++-библиотеку с помощью NDK и используете JNI для вызова ее из Java

Если вы планируете сделать несколько классов С++ доступными, вы можете использовать SWIG для автоматического создания слоя JNI для вас

http://www.swig.org/index.php