做ndk開發的時候,除錯是比較頭疼的事情;但是沒有除錯,有些具體的錯誤就無法了解。這裡我流水似的介紹一下在真機下的ndk除錯方案,以下是我的筆記:
ndk進行除錯的時候,遇到了幾個問題:
1) 需要對android手機有root許可權來設定執行一些命令
2)配置ndk-build
3)配置adbserver
4)配置adb client
除錯的整體流程:
在進行除錯之前,ndk-adb指令碼要從手機上獲取一些檔案來做除錯前準備(bug a);之後,將建立乙個遠端除錯構架來除錯應用程式。其中伺服器端(adbserver)負責與手機通訊,本地客戶端(client)將通過伺服器端除錯手機程式。
**********===
bug a)許可權問題
**********===
解決方案:修改許可權。
-------
sss$ adb shell
$ su
# chmod 771 /data/data
# chown system.system /data/data
參考文章:
**********===
bug b)沒有除錯資訊的問題
**********===
需要在編譯階段,在ndk-build命令上加引數「ndk_debug=1」
具體為:開啟工程的properties,修改如下圖(去掉use default build command,在build command中加入相關引數):
參考文章:
bug c)配置遠端除錯--server端
**********===
就是使用系統的指令碼進行,命令為:
建立eclipse工具,如下圖所示:
bug d)配置遠端除錯--client端
**********===
具體請參考文章結尾的參考資料。
圖例如下:
關於對手機的root
**********====
最後關於手機刷機的技術,htc g7需要用到的軟體為: unrevoked v3.2.0.92_0.93(需要跟手機的nboot匹配)。
具體請參考
具體請參考 note:htc刷機
關於eclipse中配置jni開發環境,請參考note: ndk在eclipse中的整合開發
》參考資料
配置ndk環境:
書籍:《android ndk beginner's guide》的最後一章: chapter11 debugging and troubleshooting
xcode iphone 聯機除錯
為了省下 99,在測試階段,可以使用下面方法在真機上除錯。1.為什麼我聯機開發如此簡單呢 這個方法我測試通過.來自 2.iphone 實機開發 part 1 helloworld 連真機的時候xcode會提示的,你需要根據提示,將iphone和xcode關聯起來。這個視窗在xcode window ...
安卓開發adb聯機除錯方法
總體來說,安卓開發套件中adb是個非常優秀的除錯工具,我們可以用它進行安卓程式的除錯工作。提到adb,我們不得不聯想到adbd,根據linux的命名習慣,通常以字母d結尾的都是服務程式,比如常見的httpd,msqld,telnetd等,adbd就是乙個除錯伺服器,它接受adb傳來的除錯指令,並將結...
NDK生成的so動態庫怎麼除錯
很多時候android業務層開發,和sdk開發是分開的,sdk更多與ndk生成so,這期間雙方 不共享,對除錯帶來很大難度,所以把一些方法彙總下 需要用到工具 android sdk platform tools adb ndkso生成庫中間檔案 obj local armeabi v7a 到這層即...