Cocos2d-x編譯Android環境


1、Android環境搭配:
NDK是一系列工具的集合。NDK提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,並能自動將so和java應用一起打包成apk。

3、安裝cygwin:
因為NDK編譯代碼時必要用到make和gcc,所以你必須先搭建一個linux景象, cygwin是一個在windows平台上運行的unix模仿景象,它對於進修unix/linux操縱景象,或者從unix到windows的應用法度移植,很是有效。經由它,你就可以在不安裝linux的景象下應用NDK來編譯C、C++代碼了

安裝詳解:

你得先跑到 http://www.cygwin.com下載setup.exe

第一步:運行setup程序,第一步圖略,直接點擊Next進入下一步。


第二步:選擇安裝方式,第一次可以采用Direct Connection在線下載安裝,如有現成的離線包,可以選擇離線安裝(Install from Local Directory)。

第三步:選擇安裝目錄,比如C:\Cygwin,注意此目錄是指Cygwin最終的安裝目錄,不是下載文件暫存目錄。

第四步:設置本地包暫存路徑
暫存目錄默認是放到setup.exe的同級目錄下,下載后名字類似ftp%3a%2f%2fcygwin.mirrors.pair.com%2f這樣格式

第五步:設置網絡連接方式

第六步:選擇下載站點地址
起初嘗試幾個看哪個速度快就用哪個地址(如果感覺不快就點取消,再次來過)。 http://mirrors.kernel.org,速度感覺還挺快

第七步:等待加載安裝項載入,選擇安裝項
我們編譯NDK,在默認設置下,只需選擇Devel(點擊列表中Devel,將后面的Default改為Install,圖中箭頭所示),其它均為默認狀態。


第八步:等待下載完成
下載完成時間決定於你選擇的安裝包數量及網絡連接速度,比如按照本文默認的選擇方式,可能需要4-5個小時,下載后壓縮包約950M,下載完成后會自動安裝到上文設置的安裝目錄

提醒:第一次下載完成后,最好把下載的包目錄做個備份,下次安裝同樣的環境可以直接使用離線安裝方式(第二步中選擇本地安裝)。

第九步:驗證Cygwin環境
安裝完成后,先運行Cygwin一次(Cygwin.bat),以便創建一些用戶環境文件,分別輸入:
make -v
和,
gcc -v
如果檢測成功,會有make和gcc相關版本信息打印出來。如下圖:

接下來是修改在安裝cygwin目錄下,如本人安裝目錄如下C:\cygwin64,然后用編輯器點開.bash_profile(在home文件夾下:C:\cygwin64\home\john chen ),然后在最下面加上ndk路徑以及cocos2dx路徑:

#創建NDK的路徑,在windows中我的路徑為:E : /Cocos2D /android /android -ndk -r9c
NDK_ROOT = /cygdrive /e /Cocos2D /android /android -ndk -r9c
#添加到PATH環境變量中
export NDK_ROOT

#創建cocos2d -x的路徑,在windows中我的路徑為:E : /Cocos2D /cocos2d -x - 2. 2. 2
COCOS2DX_ROOT = /cygdrive /e /Cocos2D /cocos2d -x - 2. 2. 2
#添加到PATH環境變量中
export COCOS2DX_ROOT


重啟cygwin,輸入:$ cd $NDK_ROOT,可進入ndk對應目錄就說明設置OK,如下圖:


在系統變量path后面添加內容:
D:\cygwin64\bin;

4、創建Cocos2d-x項目:

以創建HelloWorld項目為例子,執行create_project.py腳本,進入Doc界面輸入下面的命令:

(1)E  (切換盤符,因為我的Cocos2d-x源碼在E盤,create_project.py在該目錄下。)

(2)cd E:\Cocos2D\cocos2d-x-2.2.2\tools\project-creator   (進入到create_project.py腳本所在目錄)

(3)下載python,下載地址:http://www.python.org/getit/releases/2.7/

(4)運行cmd命令,用python生成HelloWorld項目,命令為:

python create_project.py -project HelloWorld -package com.cocos2dx.org -language cpp   (其中HelloWorld為工程名稱,com.cocos2dx.org為我為android版本取的包標識名,記住包標示名不要出現特殊符號如"-",不然導入到eclipse是將會出現錯誤。)

 

從上圖可以看出運行該pyhton腳本,會生成針對ios、android、win32、mac、linux等各種平台的項目。

運行之后,會在相應的E:\Cocos2D\cocos2d-x-2.2.2\projects目錄下找到剛建立的HelloWorld工程,其目錄結構如下圖:


5、編譯Cocos2d-x項目:
1)將proj.win32里面的.h以及.cpp文件拷貝到Classes中(如果以后修改那些.cpp文件或.h文件需要繼續從proj.win32拷貝到Classes中覆蓋掉之前的文件再生成新的android工程)

2)進入proj.android,用編輯器修改build_native.sh文件
在 # options下面加入,如下:
NDK_ROOT = /cygdrive /e /Cocos2D /android /android -ndk -r9c
COCOS2DX_ROOT = /cygdrive /e /Cocos2D /cocos2d -x - 2. 2. 2
GAME_ROOT =$COCOS2DX_ROOT /projects /HelloWorld
GAME_ANDROID_ROOT =$GAME_ROOT /proj.android
RESOURCE_ROOT =$GAME_ROOT /Resources

3)進去proj.android\jni下面修改Android.mk,
將所有.cpp的路徑都添加進去即可,如本人增加了下面那些路徑

4)用cygwin編譯
好了 修改完這些保證沒錯誤之后, 打開cygwin:
a、進入下載的Cocox2d-x目錄執行下面代碼:
$ cd $COCOS2DX_ROOT
$ chmod -R 755 *
說明:上述操作是為了提早消除由於權限引發的潛在問題,如果不做后面可能會遇到權限問題。此步驟執行后,后續再編譯就可以跳過,或后續再出現權限問題可再次執行。

b、a操作執行完后進入項目Android版目錄projects/HelloWorld/proj.android
執行./build_native.sh
到最后./build_native.sh執行之后沒錯誤的話,它就會生產android項目了(成功的判斷是看他是否生產.so文件),路徑如下:

5)在eclipse上運行的android工程,導入projects/HelloWorld/proj.android這個就可以在eclipse上看到該工程了

項目加載進來后會提示缺少cocos2dx包,我們去cocos2d-x-2.2.2/cocos2dx/pathform/android/java/scr/
把org文件拷到我們項目 HelloWorld/proj.android/src/下,刷新下我們的項目,好了沒問題了,可以編譯了
成功運行后會在bin/生成一個apk文件
如果需要把項目在真機上弄成豎屏,只需在AndroidManifest.xml中改一改, android:screenOrientation="landscape"(橫屏),android:screenOrientation="portrait"(豎屏),它默認為橫屏。







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM