總瀏覽量

2011年11月5日星期六

【筆記】Android NDK (MD5)

試用了 Android NDK 主要的目的當然不是為了寫那個 Hello JNI 而是因為之前在開發版上有另一段控制 LED 的 Source Code (用 C寫的),覺得那個應該可以直接在 Android 上使用,所以就小試了一下 NDK。

NDK 的完整開發環境可以在這裡抓到:http://developer.android.com/sdk/ndk/index.html
網站裡面有一些說明,有興趣可以讀一下...

回到主題在 Android 中透過 JNI 使用 MD5,2天內剛好不約而同有人寫 mail 給我問了一模一樣的問題,所以就直接以 MD5 為題目來做 JNI 測試。 

(一) 抓了整包的 NDK 之後解壓縮後可以看到 samples 目錄下的有一堆範例檔。


 (1)直接叫我憑空生出一個完整的內容,還真的不知道怎麼做?挑了一個 samples 目錄下的其中一個目錄複製了一份 md5-test 開始我的 MD5 測試工作。

 (2) 工作目錄在 samples\md5-test\jni 裡面

  (甲) MD5 的 Source Code 取得, 我在這裡抓的:http://people.csail.mit.edu/rivest/Md5.c 這裡面的東西是完整的,可以自行拆解需要的部份。


(乙) 寫一段相對應的 JNI Code 自己看著辦,反正是要讓 Android 的 Java 可以用的東西。

(丙) 小修一下 Android.mk , 這是 Compiler 要用的 Makefile, 反正加了那些檔案自己補一補。




(二) 直接在 samples 目錄做 Compile,完成後可以產生 .so 檔,直接拿來用就行了


(三) 開啟 Eclipse 打開 Project 開始寫 Android 相對應的 Java Code

 (1) 寫一小段程式去呼叫那個 JNI 用用看。(丟入 test 看會回傳什麼東西?



(四) 結果。 丟進去試的字是『test』,回傳的值是『098f6bcd4621d373cade4e832627b4f6
 Md5 線上查詢網站: http://www.cmd5.com/






0 意見:

張貼意見

文章列表

追蹤者