Android項目JNI開發

關於NDK開發,從年前下決定學習,用了半年時間自學了下C語言,剛剛把C語言入門書籍看完,就打算實踐下JNI.大致步驟網上都有,不再重複,主要是介紹下碰到的坑。

1、首先是生成頭文件的坑:
明確生成頭文件,依賴的是.class文件,即編譯後的java文件,所以必須在java項目路徑的bin文件目錄下(用的Eclipse),進行javah的操作,否則不能生成頭文件。
2、在visualstudio中進行C文件編寫:
因爲我是在window環境下,所以需要生成dll文件,如果是linux,就需要生成.so文件。
: A. 用visualstudio新建一個win32位項目,在選擇界面注意選擇DLL文件–空項目。
: B:因爲我的電腦是64位的,所以必須先將該項目設置成64位的,如何將visualstudio項目配置爲支持64的,請百度。
: C:將第一步中的頭文件,拷貝到該項目中,並完成C代碼的編寫,其中使用到了一些Jni的string或者int float的轉換的函數,百度即可。
:D:因爲默認的visualstudio是不帶jni的頭文件,所以必須將jdk中的jni.h拷貝到visualstudio中來,具體拷貝步驟請百度。
:E:一切完成後,點擊visualstudio的生成解決方案按鈕,就會在輸出欄看到生成的.dll文件。
3、將第二步驟的.dll文件拷貝到java項目在eclipse文件列表的項目根目錄即可。調用的方法沒有坑,百度即可。
還有一個坑:如果聲明的函數和編寫的函數名字不一致(一般是粗心,或者拷貝網上的代碼所致),eclispse運行時會報如下錯Unstaticlinked: +調用的方法名。
上述都是容易碰到的坑,讓我多花了幾個小時時間,希望看到的朋友,不會入坑。哈哈哈哈哈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章