2012-01-25 24 views
12

是否可以從Android應用程序調用C++庫?如果是,如何?在Android中從Java調用C++庫

我在Android編程方面沒有經驗(雖然有一些Java編程經驗),但我仍然想知道這是否可能。考慮到那裏出色的C++庫的數量,如果無法從Android應用程序調用C++庫,我會感到驚訝。

回答

11

你需要編寫一個Java本地接口(JNI),以便能夠調用本機(C/C++)庫從Android的Java代碼。
層次結構是這樣的:

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


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


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


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

當然可以。正如以前的海報提到你++庫使用NDK編譯C和使用JNI從Java

調用它。如果你打算做幾個C++類訪問,您可以使用SWIG爲您

自動生成JNI層

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