jni cocos2d-x遊戲引擎移植到android:helloworld

前面搭建好了android開發環境

jni開發環境,那麼就來用一用目前火熱的cocos2d的遊戲引擎吧

所需資料:

cocos2d :下載地址  http://www.oschina.net/p/cocos2d-x

我下載的是較老的版本  cocos2d-1.0.1-x-0.11.0。如果你和我一樣,也是第一次,建議也下這個版本

ndk版本使用  r7 的。

這樣之後纔會遇到較少的問題

下載完,解壓 cocos2d。

進入目錄下修改 create-android-project.bat 這個文件

@echo off
:: This script is used to create an android project.
:: You should modify _ANDROIDTOOLS _CYGBIN _NDKROOT to work under your environment.
:: Don't change it until you know what you do.
setlocal
:: Check if it was run under cocos2d-x root
if not exist "%cd%\create-android-project.bat" echo Error!!! You should run it under cocos2dx root & pause & exit 2	
if not exist "%~dpn0.sh" echo Script "%~dpn0.sh" not found & pause & exit 3
:: modify it to work under your environment	 
set _CYGBIN=d:\cygwin\bin
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4
:: modify it to work under your environment
set _ANDROIDTOOLS=d:\program files\easipass\android-sdk_r20.0.3-windows-all\android-sdk-windows\tools
if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5
:: modify it to work under your environment
set _NDKROOT=c:\android-ndk-r7b\android-ndk-r7b
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6
:: create android project
set /P _PACKAGEPATH=Please enter your package path. For example: org.cocos2dx.example:
set /P _PROJECTNAME=Please enter your project name:
if exist "%CD%\%_PROJECTNAME%" echo "%_PROJECTNAME%" exists, please use another name & pause & exit 7
echo "Now cocos2d-x suppurts Android 2.1-update1, 2.2, 2.3 & 3.0"
echo "Other versions have not tested."
call "%_ANDROIDTOOLS%\android.bat" list targets
set /P _TARGETID=Please input target id:
set _PROJECTDIR=%CD%\%_PROJECTNAME%
echo Create android project
call "%_ANDROIDTOOLS%\android.bat" create project -n %_PROJECTNAME% -t %_TARGETID% -k %_PACKAGEPATH% -a %_PROJECTNAME% -p %_PROJECTDIR%	 
:: Resolve ___.sh to /cygdrive based *nix path and store in %_CYGSCRIPT%
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%~dpn0.sh"') do set _CYGSCRIPT=%%A
:: Resolve current dir to cygwin path
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%cd%"') do set _CURRENTDIR=%%A
:: Resolve ndk dir to cygwin path
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%_NDKROOT%"') do set _NDKROOT=%%A	 
:: Throw away temporary env vars and invoke script, passing any args that were passed to us
endlocal & %_CYGBIN%\bash --login "%_CYGSCRIPT%" %_CURRENTDIR% %_PROJECTNAME% %_NDKROOT% %_PACKAGEPATH% "windows" 
pause
修改紅色字體部分爲你對應的安裝目錄。


ok,接下來搞個helloworld吧。

哦,對了,這個需要有一個NDK_ROOT的環境變量,自己添加一下吧,不知道就百度哦。

添加完環境變量,重啓計算機

打開create-android-project.bat文件

按照提示進行輸入:

第一步輸入你工程包名:com.android.cocos2d.test(可以自己輸入哦)

第二步輸入工程名稱:test

第三步窗口會列出所有可以選擇的android版本,自己選擇一個輸入id號碼      ,我輸入 7 對應 android的2.3.3版本的

然後生成項目就ok了,可以看到當前目錄下多了一個test目錄,這個就是工程目錄了,沒看到的話刷新一下。


接下來就是編譯,需要將代碼編譯成可以調用的so鏈接庫

打開cygwin

進入生成的項目的android目錄

執行build_native.sh這個shell腳本。就開始編譯了。需要一點時間


如果你使用的不是我所說的對應的版本,那麼可能這裏會遇到形形色色的問題,也歡迎把問題貼給我,我可能可以替你解決。但還是建議百度,這樣速度來的比較塊一點。


ok,所有步驟結束之後,打開eclipse,直接導入工程,工程結構應如下圖



運行


ok,打完收工

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章