1、下載Android環境html
搭建Android環境須要用到Android SDK、NDK、Ant和JDK;java
下載Android SDK android
下載Android NDk apache
下載Android JDK ubuntu
下載Ant api
其中JDK是須要安裝的,其餘的都直接解壓便可。將SDK NDK 和ANT解壓縮到同一個文件夾中,我解壓後文件都放在了e:\Android文件夾下oracle
SDK若是下載下來的adt文件那麼把裏面的SDK文件夾考出來,修改後工具
2、配置JDK網站
在JDK安裝完畢以後,須要手動進行環境變量的配置ui
一、系統變量裏新建JAVA_HOME變量,變量值爲:C:\Program Files\Java\jdk1.8.0_05(根據本身的安裝路徑填寫)
二、新建系統變量classpath變量,變量值爲:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意前面的「.」不要忘記了)
三、在系統變量path變量(已存在不用新建)添加變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意變量值之間用「;」隔開)
環境變量的解析:
JAVA_HOME:jdk的安裝路徑
classpath:java加載類路徑,只有類在classpath中java命令才能識別,在路徑前加了個"."表示當前路徑。
path:系統在任何路徑下均可以識別java,javac命令。
在配置完成以後,咱們打開cmd命令窗口,輸入java或javac 回車,若是不是打印「java不是內部或外部命令」那就說明配置成功了。
3、配置Ant環境變量
把ant的存放路徑加入系統Path變量。
4、配置cocos2dx 3.1 Android 環境關聯
以上已作好準備工做,打開cocos2dx目錄下的 setup.py。
輸入ndk的路徑。
輸入sdk路徑
最後輸入的是 ant的路徑。
OK,三個路徑都已經配置完畢:
5、打包Apk
(注意:在打包apk以前須要修改proj.android/jni文件夾下的Android.mk文件 添加本身新增的CPP文件,這裏的新增指的是非cocos2dx生成的項目文件(本身新增的文件)。必定要把本身新增的文件或文件夾包含進apk。)
首先咱們拿官方的 cpp-tests項目來試手吧!按住shift鍵+鼠標右鍵 選擇在此處打開命令窗口。
而後就可使用 cocos compile -p android –-ap 20方式編譯APK文件了(--ap 20是指定android平臺,我用的是20,也有19等其餘的,根據跟人下載的而定)
而後運行:cocos run -p android --ap 20
當出現:「 -waiting for device - error: 」的時候按Ctrl+C終止就能夠了。
漫長的等待吧,固然這裏要提醒一點3.2版本用的是 android-20,若是E:\Android\sdk\platforms目錄下沒有android-20 請建立一個空的。
等待完畢以後 看下這個文件夾下的 apk吧!能夠安裝到手機上試一下了。
若是須要把項目在真機上弄成豎屏,只需在proj.android文件夾下的AndroidManifest.xml中改一改, android:screenOrientation="landscape"(橫屏),android:screenOrientation="portrait"(豎屏),它默認爲橫屏
6、異常處理
一、 Android platform not specified, searching a default one...
Can't find right android-platform for project :
"F:\cocos2d-x-3.1.1\tests\cpp-tests\proj.android".
The android-platform should be equal/larger than 20
若是你遇到這個問題,那麼就要在
下建立一個空的android-20文件夾,這個問題坑了我好久!同時要查看命令是不是 –ap 20(雙-)。
檢查\proj.android目錄下的project.properties是不是android-20
二、make.exe: *** No rule to make target `/home/tubuntu/game/android-ndk-r9d/sources/android/cpufeatures/cpu-features.c', needed by `obj/local/armeabi/objs/cpufeatures/cpu-features.o'. Stop.
解決辦法:從後綴名來看,這個確定是編譯中間文件(能夠刪除)。而Make 的No rule to make target則通常說明是已經存在了,不用再編譯。因此咱們進入E:\cocos2d-x-3.2\Projects\HelloCpp111\proj.android\obj\local\armeabi把objs-debug文件夾下面的文件(包括文件夾)全刪除。
三、make.exe:***obj/local/libcoccos2dcpp.so……
解決辦法:產生這個緣由的是沒有在Android.mk 文件中添加本身的文件,進入E:\cocos2d-x-3.2\Projects\HelloCpp111\proj.android\jni 文件夾下打開Android.mk文件,添加本身的文件,以下圖:
四、 編譯時,提示找不到gcc工具鏈 (Couldn't find the gcc toolchain)。
這個問題也煩了我好久!去檢查下ndk的配置路徑!NDK_ROOT是否正確!而後3.1版本須要的NDK是最新的版本,去安卓網站下一個最新的版本r9d吧!
五、 若是遇到android api問題
找到運行進行更新,看缺哪一個api就更新哪一個,不過這個更新比較慢,緣由google被禁了
六、出現 build.xml:932 build.xml:950 錯誤
這是因爲你的資源文件中出現了中文命名的文件,AAPT是沒有辦法識別的, IOS是能夠識別的,可是AAPT不行,因此最好不要使用中文命名任何文件或者文件夾。