作者nowar100 (拋磚引玉)
看板AndroidDev
標題[分享] 簡介 NDK
時間Wed Jan 12 17:19:33 2011
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)
1F:→ uranusjr:沒範例啊XD 01/12 18:58
2F:推 abccbaandy:是要低調嗎(開燈 還是沒有啊(哭哭 01/12 19:22
3F:→ nowar100:範例在官網阿 XD 01/12 20:27
4F:→ bluestar8783:這個方法好像是Java就有了,只是NDK for Android 01/12 22:17
5F:推 coronach:JNI的c code寫起來很醜...個人感想...= = 01/12 22:29
6F:→ JizzInGirls:JNI也可以用C++寫啊 看起來順眼多了 01/13 01:16
7F:→ ajujgrua:應該不一定要加上java部分 可以直接寫native activity 01/13 14:46
8F:→ nowar100:感謝樓上補充 我今天才發現改版了 XD 01/13 14:54
9F:→ qrtt1:寫成 native 沒有比較好的說。大部分情況還是在 x86 下跑跑 01/13 15:10
10F:→ qrtt1:gdb 來 debug。而 JNI 那一層才去呼叫 implmentation 01/13 15:10
11F:→ qrtt1:這樣能簡化錯誤排除的時間,跟加快工作循環。 01/13 15:11
12F:→ qrtt1:不然直接掛在 native code 還要看 code dump message 很累 01/13 15:12
13F:推 Jiapie:有範例啊~~ NDK抓下來之後 samples 的目錄下就是了 02/09 22:01