作者:何衛
轉載請注明,原文鏈接:http://www.cnblogs.com/hewei2012/p/3366969.html
其他平台移植:http://cocos2d.cocoachina.com/resource
軟件准備
1.游戲引擎下載
下載地址,我使用的版本是cocos2d-2.1rc0-x-2.1.2
2.Andriod NDK下載
下載地址,下載完,解壓即可,不要有中文路徑,我這里用的是android-ndk-r9,工具的作用將c/c++開發的功能轉化成Andriod可執行的so文件
3.針對Windows的Cygwin工具
需要1.7以上的版本,用於模擬Linux的命令行功能
Cygwin下載地址:http://pan.baidu.com/share/link?shareid=561636163&uk=637953331
Cygwin離線包下載地址:http://pan.baidu.com/share/link?shareid=561923288&uk=637953331
4.Andriod ADT工具
下載地址,Andriod開發工具eclipse以及Andriod SDK,用於生成Andriod 的apk文件
具體步驟
1.創建一個cocos2dx項目
基於cocos2dx游戲引擎,新建一個Helloworld工程,過程這里就不說了,在編譯cocos2dx引擎時,第一次可能報一些錯誤,多編譯幾次就好了,記得點擊install-templates-msvc.bat,在vs中自動創建向導功能
2.cocos2dx引擎中創建andriod工程的批處理文件修改
修改文件cocos2dx目錄中的create-android-project.bat文件
1) cygwin目錄找到set _CYGBIN= 在等號后面填入本機cygwin/bin目錄,如:c:\cygwin\bin
2) <cygwin的目錄>找到set _ANDROIDTOOLS= 在等號后面填入本機Android/tools目錄,如:e:\work_cocos2d_x\andriod\sdk\tools
3)AndroidNDK目錄找到set _NDKROOT= 在等號后面填入本機NDK目錄,如:e:\work_cocos2d_x\android-ndk-r9
保存關閉。
3.Andriod.mk文件的修改
進入cocos2d-x目錄中的cocos2dx目錄,找到Android.mk文件,使用UE等編輯工具得開進行編輯,編輯此文件的目的為使用cocos2d支持NDKr9版本。
在文件的最末尾處找到LOCAL_CFLAGS := -Wno-psabi -DUSE_FILE32API,將其修改為LOCAL_CFLAGS := -Wno-psabi -DUSE_FILE32API -DGL_GLEXT_PROTOTYPES=1,保存關閉。
4.配置環境變量
NDK_ROOT=e:\work_cocos2d_x\android-ndk-r9
5.用批處理創建Andriod工程
運行cocos2d-x下的create-android-profect.bat文件,
首先輸入項目生成目錄,至少是雙層目錄,如:com.MyGame。
回車后會要求輸入工程名,最好和目錄名一致,如:MyGame。
回車后會要求選擇AndroidSDK的版本號,一般選擇2.1以上版本,相應id是1
回車后會在cocos2d-x目錄中生成一個工程目錄,工程目錄中含有android、Classes、Resource三個子目錄。
6.拷貝代碼以及修改Andriod.mk文件
將准備好的代碼文件拷貝到工程下的Classes目錄;資源文件拷貝到工程下的Resource目錄。打開Classes目錄找到Android.mk,使用編輯工具打開,在LOCAL_SRC_FILES :=
填入要編譯的cpp文件,保存后關閉。如:
LOCAL_SRC_FILES := AppDelegate.cpp \
GameOverScene.cpp \
Joystick.cpp \
TerribleGameScene.cpp
7.對於Andriod NDK r9版本的特殊處理
在批處理新建的Andriod工程中的jni目錄下的Application.mk文件,最后需加上一行
APP_CPPFLAGS += -Wno-error=format-security
8.打開cygwin,生成so文件
1.輸入工程路徑下的Android文件夾的完整路徑,如:cd e:\work_cocos2d_x\cocos2d-2.1rc0-x-2.1.2\helloworld_andriod\proj.android。然后運行build_native.sh文件,具體輸入為:./build_native.sh
2.直接將build_native.sh文件拖入cygwin也行,更簡便
9.打包apk文件
需要eclipse工具,選擇Andriod Project from Existing Code新建Andriod項目,項目會存在錯誤,還需要兩步操作
1.將cocos2d-2.1rc0-x-2.1.2\cocos2dx\platform\android\java\src\org\cocos2dx的lib文件夾拷貝至andriod工程中的org\cocos2dx目錄中,右鍵eclipse中org.cocos2dx,選擇refresh即可
2.有textEditor的方式打開AndroidManifest.xml文件,將android:icon="@drawable/icon">改成android:icon="@drawable/ic_launcher">
OK,大功告成,可以生成apk了,可以休息一下了~