我已經成功地將一個C++庫添加到了android 2.3.6源碼樹中。 現在我想包裝我的庫,以便從java中使用 我在網上搜索了很多關於這樣做的步驟,但幾乎所有我發現的例子都是你好世界的例子和簡單的例子...... 從這些例子我明白,我必須創建一個java文件,調用我需要的前綴本地的本地函數,然後生成頭文件並實現C++文件。使用jni包裝一個C++庫
但我不知道如何以這種方式調用我的庫函數。 這些標題和我的函數之間的連接是什麼? 我真的現在迷茫,我不知道怎麼就這麼開始 ,我會心存感激,如果有人能告訴我一步來包裝一個C++庫(已集成在AOSP)
非常感謝你的意思是編寫一個C++文件來實現這個頭文件並複製粘貼庫的C++實現 通過複製和註冊cc +代碼是或我必須將變量的類型更改爲jni類型(如jstring,...)? –
我想你只能使用jni類型來傳遞給java本地方法的變量。對於所有其他方法(以及在方法中聲明的變量),您應該可以使用標準的c/C++類型。 也可以在這裏查看jni類型描述:http://docs.oracle.com /javase/1.5.0/docs/guide/jni/spec/types.html –