cocos2dx搭建Android環(huán)境需要用到Android SDK、NDK、Ant和JDK;(其中只有jdk需要安裝)
一、下載Android環(huán)境
搭建Android環(huán)境需要用到Android SDK、NDK、Ant和JDK;
Android SDK下載http://developer.android.com/sdk/index.html
Android NDk下載http://developer.android.com/tools/sdk/ndk/index.html
Android JDK下載http://www.Oracle.com/technetwork/Java/javase/downloads/index.html
Ant下載http://ant.apache.org/bindownload.cgi
其中JDK是需要安裝的,其他的都直接解壓即可。將SDK NDK 和ANT解壓縮到同一個文件夾中,我解壓后文件都放在了e:\Android文件夾下
SDK如果下載下來的adt文件那么把里面的SDK文件夾考出來,修改后
二、配置JDK
在JDK安裝完畢之后,需要手動進行環(huán)境變量的配置
1、系統(tǒng)變量里新建JAVA_HOME變量,變量值為:C:\Program Files\Java\jdk1.8.0_05(根據(jù)自己的安裝路徑填寫)
2、新建系統(tǒng)變量classpath變量,變量值為:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意前面的. 不要忘記了)
3、在系統(tǒng)變量path變量(已存在不用新建)添加變量值:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意變量值之間用“;”隔開)
環(huán)境變量的解析:
JAVA_HOME:jdk的安裝路徑
classpath:java加載類路徑,只有類在classpath中java命令才能識別,在路徑前加了個"."表示當前路徑。
path:系統(tǒng)在任何路徑下都可以識別java,javac命令。
在配置完成之后,我們打開cmd命令窗口,輸入java或javac 回車,如果不是打印“java不是內(nèi)部或外部命令”那就說明配置成功了。
三、配置Ant環(huán)境變量
把ant的存放路徑加入系統(tǒng)Path變量。
四、配置cocos2dx 3.x Android 環(huán)境關(guān)聯(lián)
以上已做好準備工作,打開cocos2dx目錄下的 setup.py。
輸入ndk的路徑。
輸入sdk路徑
最后輸入的是 ant的路徑
OK,三個路徑都已經(jīng)配置完畢
五、打包Apk
然后就可以在項目目錄下使用 cocos compile -p android方式編譯APK文件了。
注意:
①在打包apk之前需要修改proj.android/jni文件夾下的Android.mk文件 添加自己新增的CPP文件,這里的新增指的是非cocos2dx生成的項目文件(自己新增的文件)。一定要把自己新增的文件或文件夾包含進apk。
②默認打包是橫屏,若做的游戲是豎屏。則更改AndroidManifest.xml的參數(shù):
android:screenOrientation="landscape"(橫屏),android:screenOrientation="portrait"(豎屏)
首先我們拿官方的 cpp-tests項目來試手吧!
按住shift鍵+鼠標右鍵 選擇在此處打開命令窗口。
然后就可以使用 cocos compile -p android --ap 20方式編譯APK文件了(--ap 20是指定android平臺)
漫長的等待吧,當然這里要提醒一點3.1版本用的是 android-20,如果E:\Android\sdk\platforms目錄下沒有android-20 請創(chuàng)建一個空的。
等待完畢之后 看下這個文件夾下的 apk吧!可以安裝到手機上試一下了。
六、成功:
七、錯誤:
后來重裝系統(tǒng)后我又用3.2試了,主要出現(xiàn)一些錯誤:
①bool tell()錯誤的把bool改為ssize_t就行
②running。。。。-D....
Error code 1
好吧,錯誤代碼記不清了,就記得什么running完什么后有error code 1,這時要把Python升級到2.7.5就行
android NDK
NDK是一系列工具的集合。NDK提供了一系列的工具,幫助開發(fā)者快速開發(fā)C(或C++)的動態(tài)庫,并能自動將.so和java應用一
起打包成apk。這些工具是對開發(fā)者的幫助巨大的。 NDK集成了交叉編譯器,并提供了相應的mk文件隔離平臺、CPU、API等
差異,開發(fā)人員只需要簡單修改mk文件(指出“哪些文件需要編譯”、“編譯特性要求”等),就可以創(chuàng)建出.so。NDK可以自
動地將.so和Java應用一起打包,極大地減輕了開發(fā)人員的打包工作。NDK提供了一份穩(wěn)定、功能有限的API頭文件聲明。Googl
e明確聲明該API是穩(wěn)定的,在后續(xù)所有版本中都穩(wěn)定支持當前發(fā)布的API。從該版本的NDK中看出,這些API支持的功能非常有
限,包含有:C標準庫(libc)、標準數(shù)學庫(libm)、壓縮庫(libz)、Log庫(liblog)