打開eclipse,在菜單裡選擇help->install new software…
彈出的視窗裡第一個框”work with:“後面輸入<code>https://dl-ssl.google.com/android/eclipse/</code>
稍等一會,下面會出來”developer tools”和”ndk plugins”,全部選中,next,同意協定,等安裝完成後,重新開機eclipse
eclipse重新開機後,到eclipse->preferences->android->ndk,在這裡設定你的ndk目錄,比如我的,我設定到<code>/android/android-ndk-r8e</code>
安裝完成
這裡我以<code>cocos2d-2.1rc0-x-2.1.3/samples/cpp/simplegame</code>這個自帶的小遊戲為例子來說明一下.
假設你的eclipse是幹淨的,也就是左邊的package explorer欄是空空的
導入libcocos2d-x到eclipse,右擊package explorer空白區域,import->existing android code into workspace,然後在下一個視窗的root directory那裡定位到<code>cocos2d-2.1rc0-x-2.1.3/cocos2dx/platform/android/java</code>這個目錄,選中libcocos2dx,導入
按照上面的方法導入<code>cocos2d-2.1rc0-x-2.1.3/samples/cpp/simplegame/proj.android</code>
現在eclipse裡已經有了兩個項目:libcocos2dx,simplegame
因為我們不使用build-native.sh來編譯,是以要先把資源檔案得到在android項目的assets下,具體就是把<code>cocos2d-2.1rc0-x-2.1.3/samples/cpp/simplegame/resources</code>下面的所有檔案複制到<code>cocos2d-2.1rc0-x-2.1.3/samples/cpp/simplegame/proj.android/assets</code>下面去
準備工作完畢
在eclipse的package explorer裡右擊simplegame項目,選”properties”,打開項目屬性框
按下面設定tool chain editor

再設定ndk-build的指令,為 <code>ndk-build ndk_debug=1</code>,确定,關閉對話框
這個時候,你選擇project->build all,會出現錯誤,意思是ndk_module_path設定不對
這裡我們不設定ndk_module_path,因為設定了它會讓我們無法調試c++代碼,解決上面問題的辦法是:把編譯過程中需要的庫拷貝到系統預設的ndk_module_path裡,跟我來做
複制cocos2d-2.1rc0-x-2.1.3目錄下的<code>cocos2dx,cocosdenshion,extensions,external</code>這4個目錄到你的ndk的sources目錄下,以我的電腦為例,就是/android/android-ndk-r8e/sources
複制cocos2d-2.1rc0-x-2.1.3/cocos2dx/platform/third_party/android/prebuilt目錄的所有到ndk的sources目錄下
這樣我們複制到ndk的sources目錄下的目錄一共有<code>cocos2dx,cocosdenshion,extensions,external, libcurl,libjpeg,libpng,libtiff,libwebp</code>這幾個
回到eclipse,再次project->build all,應該會編譯成功
為了可以給c++下斷點,我們必須修改一下目前的項目檔案結構
移動cocos2d-2.1rc0-x-2.1.3/samples/cpp/simplegame/classes目錄到cocos2d-2.1rc0-x-2.1.3/samples/cpp/simplegame/proj.android/jni下面
修改cocos2d-2.1rc0-x-2.1.3/samples/cpp/simplegame/proj.android/jni下面的android.mk,把原來的
android.mk中:
修改為
也就是使檔案指向正确的位置
project->build all 編譯項目,應該可以成功編譯
我們給classes目錄下的helloworldscene.cpp檔案裡的cctouchesend方法下一個斷點,這樣遊戲運作後,點選螢幕應該可以觸發我們的斷點
把手機連接配接到電腦上,右擊simplegame, 選 debug as->android native application
如果需要選擇手機,選你想調試的
遊戲運作起來後,觸摸螢幕,可以看到
eclipse自動切換到了debug界面,而且成功的斷點下來了,并且變量可以在右邊視窗檢視 debug界面上的按鈕就不再多說了,就是繼續執行,單步執行什麼的幾個,摸索一下便知
ps: 上述操作中我們複制了cocos2dx的好多檔案到ndk的目錄下面去,顯的有點繁瑣,這樣做的目錄是為了避開去設定ndk_module_path,如果一旦設定了ndk_module_path,就會使的調試不可行,可能有更好的方法,如果你知道,或者有什麼問題都可以直接在文章下面留言