需要準備的環境
- Eclipse + Android SDK: 基本的 Android 開發環境
- Android NDK: 讓 Android 能透過 JNI 去執行 C/C++ 語言的必要套件
- Eclipse NDK: Eclipse 的 plugin 套件,方便管理與建立 NDK 的專案
Work with: https://dl-ssl.google.com/android/eclipse/
安裝好之後要設定 Android NDK 的路徑:
Window -> Preferences -> Android -> NDK -> NDK Location:如果 NDK Path 擺在 Program Files 或 Program Files (x86) 底下,在 Build Project 時,"C:\\Program Files (x86)\\Android\\android-ndk-r10b\\ndk-build.cmd" all
可能會出現以下錯誤:
ERROR: NDK path cannot contain any spaces!
解決方法:
C:\Program Files -> C:\progra~1
C:\Program Files (x86) -> C:\progra~2
新建一個專案
新增一個 C:\Program Files (x86)\Android\android-ndk32-r10b\samples\hello-jni 專案,
然後在 Project 上按右鍵 -> Android Tools -> Add Native Support...
除錯
除錯時要將 Project -> Properties -> C/C++ Build -> Builder Settings -> Build Command:
加上 ndk-build NDK_DEBUG=1,建置時才會產生除錯所需要的檔案。
在這之後可能會遇到兩個問題:
- 無法在 .c 或 .cpp 檔上設置中斷點?
Run -> Breakpoint Types -> C/C++ Breakpoints - 設完中斷點後,卻沒有停在中斷點上?
No symbol table is loaded. Use the "file" command.
由於 GDB debugger 需要一點時間運算,而 GDB 可能還沒載入 Library 的 Symbol,
如果中斷點設得太早可能會被忽略,
解決的辦法請參考:
http://www.codeproject.com/Articles/493043/Why-your-Android-NDK-breakpoints-might-fail-and-ho
沒有留言:
張貼留言