安裝好,相應的環境以後,咱們即可以開始建立cocos2d-x 的android 工程了android
進入cocs2d-x目錄,用文本編輯器打開create-android-project.bat(在windows 7上若是正常雙擊,可能建立時有些文件的權限不足,致使建立工程不成,能夠在此文件的第一行加上cd /d %~dp0,而後右鍵以管理員身份運行)windows
找到如下幾個定義:bash
/ "�%\create-android-project.bat" Error!!! You should it under cocos2dx root & & 2 "%~dpn0.sh" Script "%~dpn0.sh" found & & 3 _CYGBIN=D:\cygwin\ "%_CYGBIN%" Couldn't Cygwin at "%_CYGBIN%" & & 4 _ANDROIDTOOLS=E:\android-sdk-windows\ "%_ANDROIDTOOLS%" Couldn't android sdk tools at "%_ANDROIDTOOLS%" & & 5 _NDKROOT=E:\android-ndk-r8-windows\ "%_NDKROOT%" Couldn't ndk at "%_NDKROOT%" & & 6 /P _PACKAGEPATH=Please enter your package . example: org.cocos2dx. /P _PROJECTNAME= "�%\%_PROJECTNAME%" "%_PROJECTNAME%" exists, please another name & & 7 "Now cocos2d-x suppurts Android 2.1-update1, 2.2, 2.3 & 3.0" "Other versions have not tested." "%_ANDROIDTOOLS%\android.bat" /P _TARGETID= _PROJECTDIR=�%\ "%_ANDROIDTOOLS%\android.bat" /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%~dpn0.sh"') _CYGSCRIPT= /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "�%"') _CURRENTDIR= /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%_NDKROOT%"') _NDKROOT= & %_CYGBIN%\bash --login "%_CYGSCRIPT%" %_CURRENTDIR% %_PROJECTNAME% %_NDKROOT% %_PACKAGEPATH% "windows"
將_CYGBIN=設置爲cycgwin\bin安裝的的絕對路徑。app
將_ANDROIDTOOLS設置爲android sdk 的tools絕對路徑eclipse
將_NDKROOT設置爲android ndk的絕對路徑編輯器
修改完畢,保存後ui
雙擊create-android-project.bat開始工程建立嚮導spa
首先是輸入包名(建議按照android的命名規則),如com.android.test調試
而後輸入工程名稱(注意不要輸入已有的文件夾的名字,若是同名,會被覆蓋掉的),如testandroid,以下圖:code
而後選擇target id,
其會列出機器上安裝的全部版本的sdk,咱們選擇6,即2.3.2的sdk.
進入g:\cocos2d-x目錄發現多了一個名爲testandroid的目錄,裏面包含三個目錄
其中Classes:是存放默認工程的C++文件
proj.android 是android的eclipse工程項目
Resources 資源文件
下來咱們開始編譯剛建立的testandroid項目
打開cygwin,進入到testandroid/proj.android目錄,輸入 ./build_native.sh 開始編譯以下圖:
執行完畢,發現編譯出錯,以下圖:
發現報的是文件 Permission denied 錯誤,考慮的是windows 7的環境,咱們看下jni/helloword/mai.cpp的文件的權限。
結果在進jni目錄時,邊報無權訪問了,以下圖:
咱們無論,由於上面報的是具體文件(main.cpp)文件無權限,而非文件夾,說明編譯器已經能訪問到文件夾裏面了,觀察下main.cpp的文件權限:
發現當前用戶(ming)都沒有讀寫的權限,編譯固然報錯了。咱們給它賦個徹底控制的權限,以下:
點擊應用,和肯定,再次執行./build_native.sh
仍是文件權限的問題,咱們按以前的方法,從新賦權一下,再次編譯,若是過程當中發現還有相似的問題,賦權便可,我爲了省麻煩,寫了個快速賦權的註冊表文件內容以下:
Windows Registry Editor Version 5.00="管理員取得全部權" "NoWorkingDirectory"=""="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F" "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"="管理員取得全部權" "NoWorkingDirectory"=""="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F" "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"="管理員取得全部權" "NoWorkingDirectory"=""="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t" "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
以管理員身份運行這個文件後,就能夠爲windows 7右鍵添加取得全部權的菜單。以下圖:
若是再次出現有訪問權限的問題,右鍵點擊下目錄,選擇管理員取得全部權便可。
最後編譯成功截圖以下:
編譯成功以後,會直接在testandroid\proj.android\libs\armeabi這個目錄底下生成so文件(libgame.so)
編譯完畢,下來就是在eclipse裏面編譯成apk文件,並安裝運行一把。
一、將剛編譯完的工程導入到eclipse中。
以管理員身份打開eclipse(由於以前都是以管理員身份獲取的權限的,不然會出現編譯時權限有問題的),選擇FILE->New->Android Project,而後選擇以下:
點擊next,選擇Build Target,以下:
運行該工程,右鍵該工程,選擇Run as ->android application(從cocos2d-2.0-rc0a-x-2.0起,支持了open gl es2.0,默認的工程建立是要求運行於open gl es2.0上的,即目前模擬器還未支持,因此必須用真機去調試)
以下: