標籤:android blog http io ar os 使用 sp java
Mac系統cocos2dx + android 開發環境配置
/******************************************************
這遍文章主要轉載自:http://www.cnblogs.com/wt616/p/3758828.html(這位大哥真的很牛,謝謝!)
然後,文章中又加入了一些自己的理解以及在實際操作過程中遇到問題的解決辦法。而這些辦法也是來自於偉大
的網友,但由於搜尋的比較多,很多出處地址都沒有記錄好,抱歉,若你們看到,告訴我,我再加上地址。
******************************************************/
環境搭建步驟
- 所需軟體及
(1) Mac系統,我的版本:OSX Yosemite10.10
(2) cocos2dx,我的版本:cocos2d-x-2.2.5
:http://www.cocos2d-x.org/download
(3) Eclipse for Mac , Android SDK(ADT)
這兩個使用最新的版本即可,而Google已經把這兩個打包在一起了,很大程度上減少了Eclipse+Android開發環境搭建的工作,簡稱為the Eclipse ADT bundle,包括了開發需要的軟體或SDK;建議不單獨下載,直接下載ADT,:http://developer.android.com/sdk/index.html,記得選擇Mac版本,32位或64位。
我的版本:adt-bundle-mac-x86_64-20140702
(4) NDK
NDK是用c/c++開發Android程式的工具。
:http://developer.android.com/tools/sdk/ndk/index.html,記得選擇Mac版本,32位或64位。
我的版本:android-ndk-r10c
(5) JDK,JRE
據網友介紹,不用下載,當首次運行Eclipse時,會提示沒有JDK,然後可以自動下載。可是我是自己下載的。
我的版本:jre-8u25-macosx-x64.dmg,jdk-8u25-macosx-x64.dmg
:
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
http://www.oracle.com/technetwork/java/javase/downloads/index.html
安裝完成後,運行Eclipse,準備嘗試下,但Eclipse打不開,提示需要JavaSE6,那麼問題來了,據網友介紹,Mac系統從10.10開始已經不支援JAVASDK1到7了,只能使用最新版本的Java,那麼怎麼解決沒有JavaSE6打不開Eclipse的問題呢?
解決辦法如下:
1) 進入目錄(java實際安裝目錄):Macintosh HD/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/
2)修改其中的Info.plist檔案
把
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
</array>
修改為
<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
<string>CommandLine</string>
</array>
當然,Info.plist檔案是沒有修改許可權的
需要sudo一下,然後使用chmod a+w 命令修改該檔案為可寫的,使用nano或者vim修改此檔案。
(6) 建議
建議把以上解壓到同一工作目錄下,如解壓在Projects目錄下,Projects/cocos2d-x-2.2.5,Projects/adt-bundle-mac-x86_64-20140702,Projects/android-ndk-r10c。
2. 建立cocos2dx項目
(1) 開啟終端
(2) 進入project-creator目錄
cd ***/Projects/cocos2d-x-2.2.5/tools/project-creator
(3) 執行create_project.py指令碼,產生cocos2dx各個版本的工程檔案
./create_project.py -project MyProjectName -package com.packagename.myprojectname -language cpp
格式說明:
MyProjectName,項目名稱,自己設定
com.packagename.myprojectname,包的名稱,自己設定
(4) 執行指令碼後,產生的工程檔案放在Projects/cocos2d-x-2.25/projects目錄下。
其中proj.ios是ios工程檔案所在目錄。
proj.android是android相關檔案所在目錄。
(5) 建議
每次進行Android移植前,最好先在ios下編譯運行通過沒有問題,再進行android相關操作。
3. Android 相關環境變數配置
(1) 開啟終端,輸入 pico .bash_profile,斷行符號
(2) 輸入以下配置:
export ANDROID_SDK_ROOT= ***/Projects/sdk/
export ANDROID_NDK_ROOT=***/Projects/android-ndk-r9d/
export COCOS2DX_ROOT=***/Projects/cocos2d-x-2.2.3/
export NDK_ROOT=***/Projects/android-ndk-r9d/
export PATH=$PATH:$ANDROID_SDK_ROOT
export PATH=$PATH:$ANDROID_NDK_ROOT
其中,***是全路徑,如/Users/YourName/Documents
“=/”都不要有空格,否則配置無效。
輸入完成後,Control + x 儲存,然後 Y,斷行符號,搞定。
(3) 檢測配置是否成功
關閉 終端,然後重新開啟終端。
若配置有問題,則終端會提示:-bash: exoort: command not found
若沒有提示,就是配置成功。
4. 建立第一個Android項目
(1) 啟動Eclipse,new -> Project,選擇Android Project From Existing Code,Browse到剛才建立的cocos2dx工程目錄下的proj.android,記得取消Copy projects to workspace,否則編譯有問題;然後,finish建立完成。
(2) 首次匯入項目,會自動產生入口Activity,繼承自Cocos2dxActivity。第一次,需要手動匯入,方法是:再建立一個Project,選擇Android Project from Existing Code,Browse到***/Projects/cocos2d-x-2.2.5/cocos2dx/platform/android檔案夾即可。
(3) 編譯之前,在build_native.sh中的# options下需要添加NDK_ROOT :NDK_ROOT= “***/Projects/android-ndk-r10c”。
(4) 編譯錯誤問題:
1)’transform‘ is not a member of ‘std’的錯誤問題,解決辦法,在labelReader.cpp中加入標頭檔:#include <algorithm>。
2)找不到標頭檔問題:
#include “AppDelegate.h”
#include <jni.h>
#include <android/log.h>
解決辦法:搜尋網友遇到的問題及解決辦法,核對了下工程下的properties->C/C++ General下的Paths and Symbols裡的各項路徑配置的都沒有問題。而我的問題是:剛開啟Eclipse運行沒有問題,只要開啟一次main.cpp,就會報錯,重啟Eclipse就沒有這個問題了,不開啟main.cpp就不會有問題。暫時就這樣吧,已經深夜,改天再查這個問題,若網友大神知道是什麼問題,望交流啊。
(1) 編譯,產生.so庫
開啟終端,執行指令碼***/proj.android/build_native.sh
編譯出錯的話,會提示,然後根據提示修改。
編譯成功,會出現:
[armeabi] Install : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so
(2) 運行,產生apk
在eclipse裡,點擊運行,直接產生apk檔案。
注意:在每次編譯build_native.h成功後,右鍵eclipse中選中工程檔案,點擊Refresh重新整理工程,替換掉eclipse中原先的.so檔案,然後打包產生apk。
(3) 安裝偵錯工具
若已經配置好Android虛擬機器,運行時可以選擇,然後直接在虛擬機器上看程式效果。
若想在真機上安裝程式,有兩個方法:
1)把產生的apk檔案,在proj.android/bin目錄下,通過android管理軟體或者其他方法,把apk放到手機上,然後手動安裝,運行。
2)手機開啟開發人員模式,通過USB把手機串連到電腦上,開啟手機的USB調試,eclipse識別了手機後,點擊運行,直接可以把apk安裝到手機上。記得要在手機未鎖屏的狀態下操作。這個辦法只適用部分手機,有的手機必須手動安裝apk。
Mac系統cocos2dx + android 開發環境配置