一步一步完成 cocos2d-x 2.2 的Android交叉編譯
下面一段是百度百科的說明:
Cocos2d-x 是一個支援多平臺的 2D 手機遊戲引擎,使用 C++ 開發,基於OpenGL ES,基於Cocos2d-iphone,支援 WOPhone, iOS 4.1, Android 2.1 及更高版本, WindowsXP & Windows7,WindowsPhone 8.[1]Cocos2d-x是一個開源的移動2D遊戲框架,MIT許可證下發布的。這是一個C++ Cocos2d-iPhone專案的版本。Cocos2d-X發展的重點是圍繞Cocos2d跨平臺。Cocos2d-x提供的框架外,手機遊戲,可以寫 在C++或者Lua中,使用API是Cocos2d-iPhone完全相容。Cocos2d-x[2]專案可以很容易地建立和執行iOS,Android 的三星Bada,黑莓Blackberry作業系統和更多。Cocos2d-x還支援Windows、Mac和Linux等桌面作業系統,因此,我們可以 編寫的原始碼很容易在桌面作業系統中編輯和除錯。
總的來說,cocos2dx的android交叉編譯環境還是蠻麻煩的。下面內容就是我一步一步實現的過程。
第一部分 安裝
一、Cygwin安裝
這個安裝比較簡單,網上也有大把的例子,這裡我只是簡述一下。
首先去官網www.cygwin.com下載安裝,安裝包分32位和64位兩種.視情況選擇了。因為只是編譯,這裡選擇的是32位版本。
下載地址:http://cygwin.com/setup-x86.exe
然後預設安裝,在安裝源的時候,選擇
http://mirrors.sohu.com/cygwin 或 http://mirrors.163.com/cygwin ,哪個好用,就哪個。
安裝的時候,把開發包都選上就可以了。
我這裡是把cygwin安裝在c:\cygwin目錄下面了。
注:這裡預設的vi不是我們常用的vim,使用起來會很不習慣,你可以根據實際情況下載,在安裝的時候,選擇編輯器的vim,然後就可以用了。如果沒有vim,你用的時候在vi命令列輸入set nocp,就可以正常習慣使用了。
二、 adt-bundle安裝
現在adt-bundle都整合了下面的功能,這樣就不用再去配置eclipse外掛了。
- Eclipse + ADT plugin
- Android SDK Tools
- Android Platform-tools
- The latest Android platform
- The latest Android system image for the emulator
下載地址:
Adt-bundle也同樣分32位和64位的,在這裡照樣下載32位的版本
http://dl.google.com/android/adt/adt-bundle-windows-x86-20131030.zip。64位的地址我也加上http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20131030.zip
下載完成後,解壓就可以使用。我這裡是解壓到e:\adt-bundle
裡面有eclipse,sdk兩個目錄和一個SDK Manager管理軟體。執行SDK Manager可以下載你需要的SDK版本。
注意:你下載的java也要對應的32位和64位的環境,否則eclipse將會啟動不了。牢騷一句,oracle把java和mysql併入後,真是開源的最大悲劇。你去下載它,就明白了。祝願oracle早點倒閉。
三、ndk安裝
下載地址:
32位下載地址
http://dl.google.com/android/ndk/android-ndk-r9b-windows-x86-legacy-toolchains.zip
http://dl.google.com/android/ndk/android-ndk-r9b-windows-x86.zip
64位下載地址
http://dl.google.com/android/ndk/android-ndk-r9b-windows-x86_64-legacy-toolchains.zip
http://dl.google.com/android/ndk/android-ndk-r9b-windows-x86_64.zip
然後解壓就可以了,我這裡解壓到
E:\android-ndk-r9b
四、cocos2dx安裝
我這裡下載的版本是cocos2dx v2.2。同時還有一個免費的編輯器CocoStudio,它提供了UI和動畫,資源編輯功能。可以不用mac下面那個收費的軟體了。
今天突然http://www.cocos2d-x.org/怎麼都下載不了,沒辦法,只好到https://github.com/cocos2d/cocos2d-x/這裡下載了。找到對應的2.2版本。
Cocos2dx下載地址:
https://codeload.github.com/cocos2d/cocos2d-x/zip/cocos2d-x-2.2
Cocostudio下載地址:
http://d001.download.appget.cn/CocoStudio/DownLoad/v1.0.0.1/CocoStudio_Full_V1.0.0.1.exe
然後cocostudio預設安裝就可以了,我這裡把cocos2dx解壓到e:/cocos2dx
五、python安裝
因為,cocos2dx建立工程,需要python,所以這裡還需要下載python,去他的官網http://www.python.org/下載就可以了
下載地址:
http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi 這個下載32位版本就可以了。然後預設安裝。我這裡安裝到了C:\Python27
六、ant安裝
這個是一個將軟體編譯、測試、部署等步驟聯絡在一起加以自動化的一個工具,大多用於Java環境中的軟體開發。這裡在生成apk的時候,也用到了。所以也要下載安裝。
http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.2-bin.zip
解壓到c:\ant就可以了
到這裡,所以需要的軟體,都已經下載,並安裝了。
第二部分:配置
第一步:新建環境變數
點windows的開始選單-〉計算機 右鍵選單選擇屬性,彈出屬性對話方塊。然後選擇高階系統設定,如下圖
然後選擇環境變數
增加
ANT_HOME=C:\ant
PYTHON_HOME=C:\Python27
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_16
NDK_ROOT=E:\android-ndk-r9b
ANDROID_SDK=E:\adt-bundle\sdk
然後編輯環境變數path,追加 %JAVA_HOME%\bin;%ANT_HOME%\bin;%PYTHON_HOME%;%NDK_ROOT%;%ANDROID_SDK%\tools;%ANDROID_SDK%\platform-tools;
這樣,就可以在CMD視窗執行相關的命令了。
第三部分 cocos2dx的工程準備
第一步:增加android_update.bat
在ant生成apk的時候,會需要知道,你編譯的目標是什麼版本和src.dir等資訊。建立這個工程,就是為了自動更新它。批處理的內容是
android update project -p . -t android-10
該檔案建好後,命名為android_update.bat,放在E:\cocos2dx\template\multi-platform-cpp\proj.android
注意,請先確認你的ANDROID_SDK是否安裝了對就的版本,android-10是對應的是android2.3,其他的版本請用對應的數字。執行e:\adt-bundle\SDK Manager.exe,如下圖所示:
這裡的數字是19
那麼批處理的內容改為
android update project -p . -t android-19
第二步:修改build_native.sh
該檔案在E:\cocos2dx\template\multi-platform-cpp\proj.android目錄中,因為在執行build_native.sh的時候,會出現的許可權的問題,所以在這個指令碼中,增加了許可權設定,來解決這個問題。
在第67行後面,也就是複製資源的後面增加下面一行
chmod 666 -R “$APP_ANDROID_ROOT”/assets就可以了。如下圖所示
第三步,建立工程複製批處理
在cocos2dx的2.2中,已經少了一些批處理來建立工程,現在全部改用python來建立工程。
現在到E:\cocos2dx\tools\project-creator下,建立一個批處理demo.bat,內容如下
python create_project.py -project %~n0% -package com.android.zdhsoft -language cpp
xcopy ..\..\cocos2dx\platform\android\java\src\* ..\..\projects\%~n0%\proj.android\src /E
上面批處理的
第一行的意思是,建一個工程為%~n0%的工程,包名是com.android.zdhsoft,使用的語言是cpp。%~n0%在批處理表示的是 批處理的檔名,在demo.bat中,%~n0%的值是demo。使用該批處理的好處是,如果建議某一個工程,只有把批處理複製一個,然後重新命名就可 以了。如命名為sample.bat,執行後,就可以行到一個sample的cocos2dx工程。
建立的工程在E:\cocos2dx\projects目錄中。
第二行的意思,複製編譯andiroid工程需要的java檔案。否則編譯的時候,會提示找不到對應的類。
第四部分,交叉編譯
第一步,確定工程名稱,如MyFirst
第二步,到E:\cocos2dx\tools\project-creator目錄下,複製demo.bat,並改名為MyFirst.bat
第三步,雙擊MyFirst.bat生成工程
第四步,到E:\cocos2dx\projects\MyFirst\proj.android目錄下,雙擊android_update.bat
第五步,到桌面的cygwin的快捷方式,進入cygwin模式,如下圖
第六步:輸入下面命令cd /cygdrive/e/cocos2dx/projects/MyFirst/proj.android,進入對應的工程目錄這個目錄。注:c:在cygwin的目錄是/cygdrive/c,其它依此類推。
第七步:輸入命令sh build_native.sh,這樣就開始編譯了 如下圖
第八步:輸入命令ant debug
執行完後,在E:\cocos2dx\projects\MyFirst\proj.android\bin目錄下面,就可以看到對應的apk了。
相關文章
- android NDK 交叉編譯Android編譯
- 交叉編譯編譯
- 交叉編譯c++給android呼叫編譯C++Android
- 一步一步編譯最新版Apache Doris 0.15版本的詳細過程編譯Apache
- lazarus交叉編譯編譯
- GDB交叉編譯編譯
- golang交叉編譯Golang編譯
- Android 一步一步教你使用ViewDragHelperAndroidView
- Linux驅動實踐:帶你一步一步編譯核心驅動程式Linux編譯
- 一步一步完成Flutter應用開發-掘金App首頁FlutterAPP
- iOS--手把手教你一步一步完成搖骰子動畫iOS動畫
- Android新增OpenCV支援,一步一步新增。AndroidOpenCV
- 一步一步完成Flutter應用開發-掘金App沸點拖拽排序,抖動,編輯話題FlutterAPP排序
- 編譯器的自展和自舉、交叉編譯編譯
- 交叉編譯入門編譯
- go 交叉編譯,部署Go編譯
- 淺談交叉編譯編譯
- ubuntu下編譯交叉編譯工具鏈Ubuntu編譯
- 全棧交叉編譯X86完成過程經驗分享全棧編譯
- 一步一步給你的 Android app 加入聊天功能AndroidAPP
- ios交叉比編譯android錯誤解決iOS編譯Android
- 一步一步完成Flutter應用開發-掘金App文章詳情完善FlutterAPP
- 交叉編譯和 RPC編譯RPC
- wifidog交叉編譯WiFi編譯
- golang初學:交叉編譯Golang編譯
- 一步一步HTML5粒子編輯器HTML
- Android NDK 提供的交叉工具鏈手動編譯原始碼Android編譯原始碼
- protobuf 的交叉編譯使用(C++)編譯C++
- Rust 交叉編譯與條件編譯總結Rust編譯
- 交叉編譯-Mac環境使用NDK編譯FFmpeg編譯Mac
- 一步一步學ROP之Android ARM 32位篇Android
- Cocos2dx交叉編譯至android平臺編譯Android
- (原創)【B4A】一步一步入門04:編譯模式、打包為APK、私鑰簽名編譯模式APK
- Go跨平臺交叉編譯Go編譯
- linux與windows交叉編譯LinuxWindows編譯
- 交叉編譯mupdf1.15.0編譯
- Go - armv7 交叉編譯Go編譯
- Ubuntu交叉編譯環境配置Ubuntu編譯