這篇文章是使用我上一篇文章Android Studio使用gradle-experimental構(gòu)建NDK工程(無(wú)需Android.mk、Application.mk文件)的demo來(lái)講解NDk的調(diào)試技巧唬滑。
1.開(kāi)始前最好先看看我的另一片文章Android Studio使用gradle-experimental構(gòu)建NDK工程(無(wú)需Android.mk、Application.mk文件)泉懦,因?yàn)槲疫@篇NDk調(diào)試教程拯欧,完全是基于上一篇文章的工程來(lái)進(jìn)行的打颤。另外如果是你本地的其他的NDK工程籽懦,確保你的NDK工程是基于gradle-experimental plugin構(gòu)建NDK工程奋单。因?yàn)長(zhǎng)LDB調(diào)試引擎需要gradle-experimental plugin的支持。
2.我就基于我自己的gradle-experimental plugin構(gòu)建NDK工程來(lái)講解了猫十。首先打開(kāi)工程Gradle_Experimental_NDK,運(yùn)行左邊的app框,選擇Edit configurations... 如下圖所示:
3.點(diǎn)擊Edit configurations進(jìn)入Debug configurations界面呆盖,點(diǎn)擊左上角的+號(hào)拖云,彈出下拉框,選擇Android Native应又,如下圖所示:
4宙项,點(diǎn)擊Android Native進(jìn)入,如下的界面株扛,可以自己起一個(gè)Name名字尤筐,我起的是app-native 汇荐,Module選擇app。
注:如果你還沒(méi)有安裝LLDB會(huì)有如下錯(cuò)誤提示盆繁,不用擔(dān)心掀淘,只要點(diǎn)擊fix,然后按照引導(dǎo)安裝LLDB就行了油昂。
LLDB安裝完成革娄,如下圖:
5.點(diǎn)擊app-native界面的Debugger選項(xiàng),選擇Debug Type 為Native ,如下圖所示:
6.點(diǎn)擊右下角的OK按鈕,所有的配置都已經(jīng)完成了冕碟,然后點(diǎn)擊運(yùn)行按鈕左邊的app框拦惋,可以看到除了app選項(xiàng),還多了一個(gè)我們剛剛配置的app-native選項(xiàng)安寺,選擇app-native選項(xiàng)厕妖,然后在MyLibrary.c文件中加一個(gè)斷點(diǎn),點(diǎn)擊debug按鈕挑庶,程序運(yùn)行到手機(jī)上之后言秸,可以看到程序運(yùn)行到斷點(diǎn)處,停下來(lái)了挠羔,說(shuō)明可以成功調(diào)試c/c++代碼了井仰,有圖為證,請(qǐng)看下圖:
運(yùn)行前操作圖:
運(yùn)行時(shí)到debug狀態(tài)截圖:
7.看完了是不是覺(jué)得很簡(jiǎn)單破加,的確俱恶,gradle-experimental plugin插件和LLDB的配合使得NDK工程的構(gòu)建和調(diào)試變得很簡(jiǎn)單。
資源下載:Demo