[分享] 簡介 NDK

看板AndroidDev作者 (拋磚引玉)時間14年前 (2011/01/12 17:19), 編輯推噓3(3010)
留言13則, 9人參與, 最新討論串1/1
NDK 的概念我大概講一下 在一些 performance critical 的情況下 Android 允許我們用 C/C++ 來寫那部份的功能, 接著再用 NDK 編成 libxxx.so 動態連結庫 這一步之後,我們把 Java 部份的程式碼寫好 然後按以往的步驟用 SDK 編成 apk 由於我們剛剛已經用 NDK 編成了一個 .so 所以 Java 程式碼也要把這個庫連進來,詳情請看範例 最後的 apk 裡面除了 .dex 以外還會多一個 .so NDK 和 SDK 差不多,都是處理掉那些細節,讓我們只要寫程式即可 缺點就是目前支援的 device 平台只有一部分 算是用 JNI 的概念,讓 Programmer 做 native coding 最後一起包到 apk 裡面安裝 ※ 引述《afz096 (我被淡水的路寵壞了)》之銘言: : ※ 引述《weishiang (wei)》之銘言: : android 有自己的 JNI 工具,叫做 NDK : http://developer.android.com/intl/zh-TW/sdk/ndk/index.html : 我沒有研究過 NDK 和一般的 JNI 有啥不同。 : 也只有粗略的試過 hello world。 : (就 按個 button,然後透過 JNI 去 call C 印出 hello world) : 再深入的應該就幫不上忙了XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.167.13 ※ 編輯: nowar100 來自: 114.36.167.13 (01/12 17:27)

01/12 18:58, , 1F
沒範例啊XD
01/12 18:58, 1F

01/12 19:22, , 2F
是要低調嗎(開燈 還是沒有啊(哭哭
01/12 19:22, 2F

01/12 20:27, , 3F
範例在官網阿 XD
01/12 20:27, 3F

01/12 22:17, , 4F
這個方法好像是Java就有了,只是NDK for Android
01/12 22:17, 4F

01/12 22:29, , 5F
JNI的c code寫起來很醜...個人感想...= =
01/12 22:29, 5F

01/13 01:16, , 6F
JNI也可以用C++寫啊 看起來順眼多了
01/13 01:16, 6F

01/13 14:46, , 7F
應該不一定要加上java部分 可以直接寫native activity
01/13 14:46, 7F

01/13 14:54, , 8F
感謝樓上補充 我今天才發現改版了 XD
01/13 14:54, 8F

01/13 15:10, , 9F
寫成 native 沒有比較好的說。大部分情況還是在 x86 下跑跑
01/13 15:10, 9F

01/13 15:10, , 10F
gdb 來 debug。而 JNI 那一層才去呼叫 implmentation
01/13 15:10, 10F

01/13 15:11, , 11F
這樣能簡化錯誤排除的時間,跟加快工作循環。
01/13 15:11, 11F

01/13 15:12, , 12F
不然直接掛在 native code 還要看 code dump message 很累
01/13 15:12, 12F

02/09 22:01, , 13F
有範例啊~~ NDK抓下來之後 samples 的目錄下就是了
02/09 22:01, 13F
文章代碼(AID): #1DBN8e07 (AndroidDev)
文章代碼(AID): #1DBN8e07 (AndroidDev)