在《站在巨人的肩膀上,談app的創新性》一文中 http://my.oschina.net/liusicong/blog/311971,我提到過構建app技術壁壘的必要性。在構建技術壁壘時,咱們每每須要調用許多庫函數,例如:圖像處理的庫函數,音頻處理的庫函數。咱們發現一個有效可行的方案就是使用NDK工具來交叉調用C++函數。html
我習慣於把我搜到的數篇帖子中特別好的帖子的地址附在問題後,這也是一種資源整合,面向想要入門學習android的java和c++交叉調用技能的讀者盆友。java
本文將分兩部分來介紹如何在android下使用NDK實現c++開發:NDK環境的搭建,調用C++函數。android
一. NDK環境搭建c++
1. 下載,解壓 android-ndk-r5c-windows.zip windows
2. Cygwin 安裝,同時參考如下兩個教程app
圖文教程:http://blog.csdn.net/pengchua/article/details/7582949函數
3. 配置 NDK builder,將NDK與你的項目關聯起來工具
圖文教程 : http://blog.sina.com.cn/s/blog_87479ba60100x6uk.html學習
注:location是你的NDK_build.cmd的位置,例如個人是「 D:\AnZhuangBao\android-ndk-r10\NDK_build.cmd」
二. 調用c++函數
JNI提供了若干API,實現了java與其餘語言的通訊,主要是c/c++。JNI容許Java代碼使用以其它語言(譬如 C 和 C++)編寫的代碼和代碼庫。對應eclipse中項目的 /jni 目錄下。
有一個很全的JNI開發入門教程:http://www.open-open.com/lib/view/open1359700820369.html