Mac下cocos2dx3.2移植android平臺詳細教程

本文是cocos2dx移植android的第二篇教程,筆者深深感覺,cocos2dx移植android平臺是永遠的痛啊。。。
? ? ? ?下面講一下筆者花費一個周研究的Mac OS下的cocos2dx3.2+android配置
首先要準備的東西
? ? ?(1)下載cocos2dx3.2 ?
? ? ? ? ??http://www.cocos2d-x.org/download? ?

? ? ?(2)Android Development Tools(adt)
? ? ? ? ??http://developer.android.com/sdk/index.html
? ? ? ? ? ADT中自帶Eclipse,很屌。
? ? ? ? ? 因為android developers那個網站有些用戶在進入的時候可能因為要翻墻等某些原因很難整,我上這個網站就是需要加載很長時間,真難受。所以我網云端放了一份我寫博客時最新的版本,大家可以get it
? ? ? ? ? ?http://pan.baidu.com/s/1mg4xqTq?

(3)NDK,記得現在一定不要用r10,因為r10在環境搭載的時候會有bug,會出現錯誤,筆者被這個錯誤已經困擾了好久好久。。。。耽誤了整整兩天之后,只能用r9重新配置之后再修改博客的多出細節。
? ? ? ? ? 為什么筆者這么說呢。。。請看下面的網址:
? ? ? ? ??http://cn.cocos2d-x.org/tutorial/show?id=1187
? ? ? ? ? NDK r9 for mac下載地址如下:
? ? ? ? ??https://dl.google.com/android/ndk/android-ndk-r9d-darwin-x86_64.tar.bz2
? ? ? ? ??https://dl.google.com/android/ndk/android-ndk-r9d-darwin-x86.tar.bz2
? ? ? ? ? 有64后綴為64位系統的。
? ? ? ? ? 筆者同樣在云端分享了一個64位鏈接:
? ? ? ? ??http://pan.baidu.com/s/1dDu2fVb

? ? ?
? ? ? ? ? 注:不要看到有win3個字母就覺得是windows下的,以為我傳錯了或者寫錯了。。。

(4)ANT
? ? ? ? ? 這里安裝ant給出兩個方法
? ? ? ? ??method one:這里我直接使用了Homebrew來進行安裝。如果大家之前的Mac+Xcode的cocos2dx開發環境是按照我的教程配置的,就應該已經裝好了homebrew,就可以直接跟我一樣這樣去做。
? ? ? ? ? 如果你沒有按照我的教程配置,不知道homebrew的相關信息,可以查閱我的這兩篇博客
? ? ? ? ? <1>http://blog.csdn.net/u012200908/article/details/38070885? ? ?Mac下Xcode配置cocos2dx
? ? ? ? ? <2>http://blog.csdn.net/u012200908/article/details/38070345? ? ?Homebrew安裝和使用

? ? ? ? ? 建議還是裝一下homebrew,如果你要在Mac下進行開發,或者想在Mac進行開發的話,這是一個很好的、程序員中使用很廣泛的東西,不要嫌安裝TA麻煩(何況按照我的教程只需要一句話。。。。),或者你可以看看下面TA的作用再做決定。
? ? ? ? ? 下面是安裝方法,通過launchpad調出Terminal(建議大家把語言調成英文,terminal也就是終端,后面會稱為終端,調成英文對程序員是很有好處的),這里只需要一句,brew install ant。

意思就是:嘿,Homebrew,給我裝個新版的ant,Mac里面自帶的太舊了!
? ? ?then,home-brew就會照做。
? ? ?這里大家要記住Homebrew給我們安裝的地點,例如我的路徑為:
? ? ?/usr/local/Cellar/ant/1.9.4?

?method two:如果你放棄了homebrew(what a pity!),那就根據網址直接去下載吧。
? ? ? ? ? ? ? ?http://ant.apache.org

(5)python(正常Mac下會有自帶,基本上無需下載,你可以在終端輸入python來查看版本,這里只是列出來說明一下,我們是需要這個東西的)
? ? ? ? ? ? ? ? ? ? 雖然基本無需下載,但為了嚴謹,還是說一下。不要3.0以上的版本,最好是經典的2.7(2.7.6 or 2.7.8)。這里同樣兩種方法
method one:
https://www.python.org/download/releases/2.7.6/
?method two:
參考我的博客,使用homebrew來安裝,這里要注意,我在配置的時候犯了一個錯誤,安裝了3.0以上版本的Python,誤導了大家,我已經在發現后在原博客中間部分貼出紅字,警示大家,所以在這里再次訂正一下,大家安裝的時候不要輸入brew install Python3,要輸入brew install python。也再一次向大家道歉,自己的失誤,導致了可能會誤導別人的結果,在這里向大家表示歉意。

以上5個全部就緒后,就只欠東風了。下面正式開始:

一、配置cocos2dx初始環境
首先你要配置整個cocos2dx環境,即能用python進行項目創建,并且Xcode下能夠執行你新建的項目。我之前的博客已經詳細的寫了,請大家參考一下:http://blog.csdn.net/u012200908/article/details/38070885?

但是在這里,為了方便讀者我再講一遍,如果您已經參照我的博客,或網上的其他教程配置好了cocos2dx+Xcode的環境,請直接跳過第一步,到第二步。

(1)將下載的cocos2dx3.2解壓,這里要注意,你解壓的時候文件名或者文件路徑里面不要有中文,不要有空格。如果你用的是中文的語言,你會發現Finder里面那幾個文件夾是文檔、下載、圖片、電影,但是在作為路徑的時候系統仍會將他們設置為Documents、Downloads、Pictures、Movies,這幾個文件夾按照英文算。

(2)安裝python,這里有幾個選擇:
? ? ?<1> ?你可以不更新python,使用系統自帶的python,如果以后出現問題再安裝更新版本的
? ? ?<2> 參考我的博客,使用homebrew來安裝python。(注:如果你想要成為一名程序員或開發者,建議你使用這種方法,以為Mac下的Homebrew是一個很強大的東西。如果你只是有興趣想要研究一下cocos2dx,可以不選擇這種方法。)
? ? ?博客:
? ? ?<3>直接去下載python 2.7forMac(筆者用的2.7.8,但是有人說2.7.6更好。who knows。。。)

?(3)安裝完python之后,我們要找一個簡單的方法,和windows8直接在當前文件夾shifit + 右鍵打開命令提示符一樣的方法,能夠在當前文件夾快速的打開終端。
先打開system preferences——keyboard———shortcuts———services———勾選new terminal at folder即可(在當前文件夾快速打開終端節省了很多轉移當前目錄的時間,至于這些東西對應的中文,我想一定難不倒各位)

? ? ? ? ??

??這些完成后,來到解壓后cocos2dx文件夾(不要雙擊打開),右鍵——service———New Terminal at Folder
打開一個終端窗口,輸入./setup.py回車
我們可以看到,在這里面,他只是check到了COCOS_CONSOLE_ROOT的路徑
但是沒有找到android平臺有關的路徑,他會提示你輸入NDK_ROOT,或者其他android相關的root,這里不要著急,先不管他,直接關掉終端。?

? ? ? ? ?

(4)創建并運行項目
? ? ?創建和運行新項目不想多講,簡單一說,windows和Mac下語法啥的都一樣,
? ? ?直接在終端中輸入cocos -h可以查看幫助
? ? ?下面直接創建項目,創建項目的時候包我選擇了缺省,大家注意。
? ? ?先自己新建一個文件夾作為cocos的工作目錄,然后在這個目錄上(不要進去)右鍵 ? ? service——New Terminal at Folder
? ? ?輸入cocos new -l cpp helloagain
? ? ?helloworld是上一個教程中創建的?



用Xcode打開來run一下,結果只有一個椰子一句HelloWorld和一個退出button



二、相關變量的配置

不知道你是否還記得我們在只配置Xcode環境時執行setup.py,后面的變量為缺省,這里我們要為這些值缺省的變量賦值。

有兩種方法(我是用的第二種,我也建議使用第二種):
(1)
再次運行cocos2dx3.2安裝目錄下的setup.py,然后根據他的提示自己將環境變量的目錄粘帖進去,然后回車。

比如你執行setup.py,系統提示
Please enter the path of NDK_ROOT(or press Enter to skip):
這里你就要輸入你的NDK路徑(參照上面的COCOS_CONSOLE_ROOT路徑輸入)
?/Users/Lss/Downloads/android-ndk-r9d/
然后回車。按照這個依次輸入NDK_ROOT、ANDROID_SDK_ROOT、ANT_ROOT
最后根據他的提示,會讓你執行source命令,更新變量。
更新之后,關掉終端并重啟生效

這個方法比較簡單,就不做詳細的解釋了。但是這里要注意同樣的問題,解壓的文件夾名字,No Chinese。因為這個東西牽扯到.bash_profile這個文件,建議如果你使用第一種方法配置變量,還是最好看一下第二種方法,如何找到這個文件,因為默認狀態下,這個文件是隱藏的。

(2)
直接修改 .bash_profile,這個是Mac os下默認的隱藏文件,配置環境變量的。
具體打開方法請參照我的另一篇博客:
http://blog.csdn.net/u012200908/article/details/38314311

這里直接貼上第五種方法,那個APP的下載鏈接:
APP名字叫ShowHiddeFiles
主頁:http://gotoes.org/sales/ShowHiddenFilesMacOSX/How_To_Show_Hidden_Files.php
????????? 可以直接點擊左邊下載。
也可以直接點擊下載鏈接:http://gotoes.org/sales/ShowHiddenFilesMacOSX/ShowAllFiles.app.zip

直接打開app選擇show special files按鈕
你就可以在/Users/yourname/下面找到.bash_profile,打開并按照后面編輯
詳細請參考該博客

? 也可以直接在終端輸入
??pico .bash_profile?
? 查看.bash_profile文件內容,在終端輸入下面給出的變量
? 如果你的系統沒.bash_profile文件,那執行下面操作建一個
? 首先調出終端
<1>先進入用戶的目錄,輸入 ? ? ?cd ~ ? ? ? ? ?這里注意字母和符號之間有個空格
<2>繼續輸入 ? ? touch .bash_profile ? ? ? ? ?這里touch和.之間也是有個空格?
<3>打開文件并編輯 ? ? open -e .bash_profile ? ? 同樣要注意空格
? ? ? ? ?打開之后對其進行編輯,我的打開之后是這樣的,因為之前已經配置過了cocos2dx在Mac進行ios開發的環境,所以會有這些內容。
?? ? ??
接下來進行一些編輯,建議編輯之前command + shift + 4截個圖備份一下
加入下列內容:
# Add android NDK_ROOT
export NDK_ROOT=/Users/Lss/Downloads/android-ndk-r9d/

#Add ANDROID_SDK_ROOT
export ANDROID_SDK_ROOT=/Users/Lss/Downloads/adt-bundle/sdk

同時編輯一下ANT_ROOT
# Add environment variable ANT_ROOT for cocos2d-x
export ANT_ROOT=/usr/local/Cellar/ant/1.9.4
export PATH=$ANT_ROOT/bin:$PATH
如果看官的profile里面沒有這個就參照我寫的打上去吧
#那一行沒有什么用,類似于注釋?

? ? ??

注意:在路徑中盡量不要出現空格,否則在下面第五步可能會有問題,筆者一開始SDK路徑中,adt bundle這個出現了問題,所以才在中間仿照NDK的路徑加入了一條線。如果出現問題,在你執行source .bash_profile時會提示 ****/****:not a valid identifier。所以最好不要在文件夾的名字上有空格


(4)保存文件 ? ? Command + S ? ? 并關閉文件
這些完成后,再來到解壓后cocos2dx文件夾(不要雙擊打開),右鍵——service———New Terminal at Folder
打開一個終端窗口,輸入./setup.py回車
這次運行結果與之前的教程會有不一樣,那是因為之前講的是Xcode作為開發平臺,針對ios開發,所以SDK NDK ANT都是缺省,而本文講的是在Mac下用eclipse針對Android開發,所以前面在.bash_profile中添加的變量這里會出現,有心人可以參照我上面的博客連接找到setup.py運行結果對比一下。 ?


大家注意結果的最后一行有一句話。意思是讓你執行命令: source /Users/Lss/.bash_profile 來讓我們添加的系統變量開始發揮效用(一看這翻譯水平,英語六級一定過了)
所以輸入: source /Users/Lss/.bash_profile(直接復制自己終端里的就好了)?



三、工程導入eclipse
先進入eclipse,打開SDK Manager,他會自己fetching一些東西,過程十分慢,fetching完了之后,更新一下SDK,一兩個版本就可以了,我這兒更新了4.4.2即API19。讓他先更新著。(如果有的讀者因為這個地方沒有圖片,您不懂我說的什么意思,我想您一定是個新手,可以網上稍微查一下eclipse更新SDK。這里建議新手還是應該先使用Xcode或者VS2012進行cocos開發,然后學習一些android和java的知識,再移植android平臺,不要急著真機調試,編程不可能一口吃成個胖子,要日積月累)
? ? ?
? ? ? 再進入到工作目錄中創建的項目里面,打開helloagain——進入proj.android,你會看見里面有個文件叫做 ? ? build_native.py ? ? 這就是我們接下來要運行的文件。
? ? ?返回上層目錄,右鍵proj.android文件夾,服務,打開終端(應該會了吧)
? ? ?輸入命令:python build_native.py?(會有幾個warning,沒有問題)



執行完之后回到eclipse,SDK更新完之后,建議重啟下eclipse。
重啟之后執行項目導入,File-new project-Android-Android project from existing code?
選擇你之前新建的項目,工作目錄里面的hello again,打開proj.android,勾選下面出現的唯一的項目
這里注意,千萬不要勾選,copy projects into workspace,會各種錯誤。

我們會發現引入之后還是會有錯誤在里面,不要慌,這是因為包的缺少。
這里要查看一下錯誤原因,在項目上右鍵,屬性(properties),錯誤原因是什么,下方已經標注出來了。?


解決方法:到helloagain/cocos2d/cocos/platform/android/java/src目錄下
command + C 復制一下org這個文件夾,這是類包(不信打開看看啊)
然后回到項目的src下,command + V粘帖,我粘的時候有提示說已經存在是否重寫,這個必須要,反正就是要粘進去,粘進去你會發現錯誤全部消失了?


粘進去之后你還要有模擬器才可以運行。我只下了android4.4的相關東西。然后重新啟動一下,創建了一個AVD。OpenGL在android2.2之后才支持真機,模擬器版本在4.0.3之后才可以跑。如果這個地方,你引入之后項目的版本是2.3.3記得切換。
? ? ? 切換了4.4版本之后,新建4.4的AVD,勾選下方的Use Host GPU,這個AVD就是我們要用的模擬器。
AVD要選中下面的Use Host GPU,看下圖:



運行一下程序,結果如下(如果你不是跟筆者一樣運行的空項目,而是導入了一個自己寫的項目,或者你對里面的cpp文件有增刪甚至改名,請不要運行再往下看)


在這里筆者要說明兩點:
第一:就是在構建項目的過程中,你需要在android.mk這個文件里面做一些修改(在jnj文件夾下)畫框的地方,這是所有的cpp的名字,如果你以后修改或者添加了cpp,你需要在下面做聲明,聲明的時候要注意,前面的cpp后面有斜杠,最后一個沒有斜杠。?


第二:筆者發現,創建的新項目直接通過import導入,他編譯一陣子之后,再考入src文件下的那個包,發現示例程序依舊可以運行。我不知道這樣既然可以運行那么build_native.py還有什么意義。大家可以試一下,為了避免不必要的錯誤,大家可以new一個新項目試一下,不執行build_native.py直接導入,拷貝一下缺少的包,仍然是可以直接運行的。這個原因我還在考查中,大家可以想想這是為什么。因為官網執行了build_native.py,所以我們還是按照官網來吧。

至此你已經可以將cocos2dx的項目移植到android上了。?

2014.8.5 ? ? 23:34 ? ? ? ? ? ? ? ? ? ? ? ? ?
?Mr.Losers?






本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277772.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277772.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277772.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

robotframework(12)修改用戶密碼(從數據庫查詢短信驗證碼)

一、testcase&#xff1a;修改用戶密碼需要6個參數&#xff08;短信驗證碼、設置的新密碼、用戶已登錄的userid及用戶唯一標識、接口校驗碼、被修改的手機號&#xff09;&#xff0c;故先準備這些參數 二、用戶登錄請求&#xff0c;&#xff08;獲取userid、用戶唯一標識&#…

Mac OS使用技巧之二:修改變量Path解決android: command not found

前一陣子&#xff0c;一直在搞Mac OS和win8下cocos2dx移植android平臺的方法。一步步從無到有的慢慢摸索出來。最近發現了一個小問題&#xff0c;有關環境變量配置的寫下來分享給大家。就是我們在windows8下查看已有android SDK的版本&#xff0c;需要在CMD里面輸入&#xff1a…

Jenkins架構

一. Master 和slave.下圖闡述了master-slave交互的架構&#xff1a;在上面這個分布式的構建環境中&#xff0c;Jenkins master主要負責如下&#xff1a;接收構建觸發&#xff08;比如&#xff0c;一個提交到GitHub后&#xff09;發送通知&#xff08;比如&#xff0c;在構建失敗…

【linux】linux命令如何查看文件、文件夾的屬性,包括大小、修改時間、誰修改的...

【linux命令如何查看文件、文件夾的屬性&#xff0c;包括大小、修改時間、誰修改的】1、查看文件大小&#xff1a;#du -sh filename2、查看文件,文件夾屬性&#xff1a;#ls -l filename#ls -ld foldername3、查看文件的三個時間 atime ,ctime, mtime3.1、 mtime(modification t…

Mac OS使用技巧之三:發射無線網絡信號的方法

許多人知道在windows下可以直接借助各種輔助軟件來直接發射wifi信號&#xff0c;比如360wifi&#xff0c;獵豹wifi。或者可以直接在命令行里面設置。許多人卻不知道Mac系統也有方便快捷發射無線信號的功能。下面講一下利用Mac OS發射無線網絡信號的方法。前提&#xff1a;你的電…

關于基本工作素養在職場當中的重要性

各位小伙伴&#xff1a; 今天博主就和大家分享一下&#xff0c;一個優秀的工作素養在職場中的重要性&#xff0c;中央軍軍容軍紀整潔&#xff0c;隊伍有條有理&#xff0c;為何地方軍閥&#xff0c;層次不窮&#xff0c;惡習滿貫。其核心根本就是職業素養低。 大家都是干技術的…

紀實:對CSDN博客系統的一些質疑

我是一個對編程充滿熱情的在校大學生&#xff0c;本來我是懷著滿腔熱情來到CSDN寫博客&#xff0c;記錄和分享自己的學習經歷。卻被這糟糕的博客系統一次次的潑冷水。寫這篇博客確實是因為心中十分不甘和特別生氣&#xff0c;所以我決定要把自己的遭遇寫出來&#xff0c;我自己…

php框架之laravel

常見問題: 1. 訪問網站500錯誤 這是因為laravel的緩存路徑沒有找到 laravel緩存文件路徑是在 config/cache.php中設置&#xff0c;默認存在storage文件夾中 解決:需要保證storage/framework下面創建 sessions&#xff0c; views, cache 文件夾并確保可寫權限 轉載于:https://ww…

MySQL的命令合集

2019獨角獸企業重金招聘Python工程師標準>>> MySQL客戶端操作 $db$是數據庫名稱$table$是數據表名稱$field$是數據表里的字段名稱有些語句最后加上**/G**可以使結果更美觀數據庫相關 創建數據庫,修改數據庫 create database $db$; 使用默認設置create database $db$…

Mac OS使用技巧之四:修改打開不同格式視頻的默認播放器

這里說一下視頻播放的一些問題。大家知道Mac OS中有自帶的一款播放器&#xff0c;叫做Quicktime Player。這已經是一款很牛X的軟件了&#xff0c;但他的定位并不是單純的視頻播放軟件&#xff0c;而是數字媒體制作平臺&#xff0c;可以用于視頻格式的轉換&#xff0c;視頻的錄制…

Sql—表格的建立,刪除,數據的建立與刪除-總結篇

一&#xff0c;Sql—表格的建立&#xff0c;刪除&#xff0c;數據的建立與刪除 Sql表格的建立公式 If exists (select * from sysobjects where <表名> Drop table <表名> Create table <表名> (<列名1> <數據類型> <約束類型> <是否為…

爬取汽車之家新聞

爬取汽車之家新聞 偽造瀏覽器向某個地址發送Http請求&#xff0c;獲取返回的字符串 response requests.get(url 地址)response.contentresponse.encoding apparent_encodingresponse.textbs4&#xff0c;解析HTML格式的字符串 soup BeautifulSoup(<html>...</html…

Mac OS使用技巧之五:Macbook鍵盤的使用基礎技巧

使用過蘋果電腦的朋友應該都知道蘋果的臺式機和筆記本鍵盤布局有自己獨有的風格&#xff0c;Mac里面的鍵盤細節就值得我們深深推敲。這篇博客將為一些Mac的新手&#xff0c; 詳細介紹一下蘋果電腦鍵盤的基礎使用技巧&#xff0c;筆者目前的系統是Mac mavericks。Mac OS按鍵符號…

需求工程week1

這是第一周&#xff0c;我們小組確定了項目工程的主題&#xff0c;對于需求不清楚的地方與甲方進行了溝通。簡單制定了下一周的工作計劃。 以下是詳細說明&#xff1a; &#xff08;1&#xff09;項目背景和范圍 ①背景&#xff1a;在急需志愿活動的今天&#xff0c;在部分個人…

3- 快速上手Linux玩轉典型應用- Linux準備工作

4- 準備工作 查看ip ifconfig # 查看ip地址 ipaddr # ip vi /etc/sysconfig/network-scripts/ifcfg-xxyum install net-tools最小化安裝的server版本沒有ifconfig。使用ip addr tab補全鍵一次補全。兩次提示。 使用pageup pagedown鍵&#xff0c;翻動。 編輯我們的配置文件將o…

Mac OS使用技巧之六:鼠標和觸摸板的使用

本篇說一下Macbook里面鼠標和觸摸板的使用&#xff0c;如果你的電腦是臺式機&#xff0c;那么使用觸摸板可能需要你自己配備Magic Trackpad。在我看來&#xff0c;Mac OS的日常使用基本是不需要鼠標的。Mac OS與觸摸板的完美契合是windows系統永遠無法企及的。但不排除有些情況…

go run 和 go build 和 go install 命令區別

go run&#xff1a; go run 編譯并直接運行程序&#xff0c;它會產生一個臨時文件&#xff08;但實際不存在&#xff0c;也不會生成 .exe 文件&#xff09;&#xff0c;直接在命令行輸出程序執行結果&#xff0c;方便用戶調試。 注意點&#xff1a;需要在main包下執行go run &a…

vue 實例數據綁定 指令 事件

vue.js的模式 mvvm 模式視圖層與數據層的雙向綁定環境搭建 其一引用 <script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 復制代碼引用之后/創建vue實例 這個實例是整個程序的啟動入口 <script src"https://cdn.jsdelivr.ne…

Mac OS使用技巧之七:個性化自己的Mac OS主界面

今天來講一下個性化自己的主界面。Mac OS的亮點之一就在于它精煉美觀的主界面。 Mac OS的界面跟我們熟悉的windows是截然不同的&#xff0c;賦予了桌面新的定義。 能夠完美的體現一張牛X的壁紙是有多么的吸引人。&#xff08;圖不是我盜的哦&#xff0c;第一張圖片加了自己水…

[Codeforces700E Cool Slogans]

簡要題意 給出一個長度為n的字符串s[1]&#xff0c;由小寫字母組成。定義一個字符串序列s[1....k],滿足性質&#xff1a;s[i]在s[i-1] (i>2)中出現至少兩次&#xff08;位置可重疊&#xff09;&#xff0c;問最大的k是多少&#xff0c;使得從s[1]開始到s[k]都滿足這樣一個性…