Cocos2d-x學習之創(chuàng)建Android工程和編譯
執(zhí)行完畢,發(fā)現(xiàn)編譯出錯,如下圖:
發(fā)現(xiàn)報的是文件 Permission denied 錯誤,考慮的是windows 7的環(huán)境,我們看下jni/helloword/mai.cpp的文件的權限。
結果在進jni目錄時,邊報無權訪問了,如下圖:
我們不管,因為上面報的是具體文件(main.cpp)文件無權限,而非文件夾,說明編譯器已經能訪問到文件夾里面了,觀察下main.cpp的文件權限:
發(fā)現(xiàn)當前用戶(ming)都沒有讀寫的權限,編譯當然報錯了。我們給它賦個完全控制的權限,如下:
點擊應用,和確定,再次執(zhí)行./build_native.sh
還是文件權限的問題,我們按之前的方法,重新賦權一下,再次編譯,如果過程中發(fā)現(xiàn)還有類似的問題,賦權即可,我為了省麻煩,寫了個快速賦權的注冊表文件內容如下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT*shellrunas]
@=管理員取得所有權
NoWorkingDirectory=
[HKEY_CLASSES_ROOT*shellrunascommand]
@=cmd.exe /c takeown /f %1 icacls %1 /grant administrators:F
IsolatedCommand=cmd.exe /c takeown /f %1 icacls %1 /grant administrators:F
[HKEY_CLASSES_ROOTexefileshellrunas2]
@=管理員取得所有權
NoWorkingDirectory=
[HKEY_CLASSES_ROOTexefileshellrunas2command]
@=cmd.exe /c takeown /f %1 icacls %1 /grant administrators:F
IsolatedCommand=cmd.exe /c takeown /f %1 icacls %1 /grant administrators:F
[HKEY_CLASSES_ROOTDirectoryshellrunas]
@=管理員取得所有權
NoWorkingDirectory=
[HKEY_CLASSES_ROOTDirectoryshellrunascommand]
@=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右鍵添加取得所有權的菜單。如下圖:
如果再次出現(xiàn)有訪問權限的問題,右鍵點擊下目錄,選擇管理員取得所有權即可。
最后編譯成功截圖如下:
編譯成功之后,會直接在testandroidproj.androidlibsarmeabi這個目錄底下生成so文件(libgame.so)
編譯完畢,下來就是在eclipse里面編譯成apk文件,并安裝運行一把。
1、將剛編譯完的工程導入到eclipse中。
以管理員身份打開eclipse(因為之前都是以管理員身份獲取的權限的,否則會出現(xiàn)編譯時權限有問題的),選擇FILE->New->Android Project,然后選擇如下:
點擊next,選擇Build Target,如下:
運行該工程,右鍵該工程,選擇Run as ->android application(從cocos2d-2.0-rc0a-x-2.0起,支持了open gl es2.0,默認的工程創(chuàng)建是要求運行于open gl es2.0上的,即目前模擬器還未支持,所以必須用真機去調試)
評論