程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> cocos2d-x學習筆記06:如何將win32移植到android

cocos2d-x學習筆記06:如何將win32移植到android

編輯:關於C語言

 cocos2d-x學習筆記06:如何將win32移植到android


本文主要討論如何將一個win32項目,移植到android上面,網上很多文章說的不一樣,因為cocos2d-x的android項目配置方法好像修改過幾次好像?我沒用過老版的),本文提供一種簡單的方法。
第零步:配置android工程生成器 #1用ue之類的編輯器打開cocos2d-x目錄下的create-android-project.bat
#2編輯這三個變量  

意思太明白了,就不解釋了

第一步:建立android工程
#1運行cocos2d-x目錄下的create-android-project.bat
#2然後首先輸入包名和項目名。 注意有坑!這會刪除和覆蓋你在cocos2d-x安裝目錄下同名文件夾,如果你建立了一個同名項目有的話一般是win32的)的話。 #3然後輸入支持系統版本,android是向下兼容的。我這裡寫5,也就是android2.1-update1 然後項目就建立好了,你會發現在cocos2d-x安裝目錄下,多了個Test文件夾   第二步:導入代碼和資源
#1打開Test
#2我們看到有三個文件夾,其中android就是android項目文件夾 把你win32項目裡的Classes拷貝到當前Classes下注意刪除Classes裡面的多余的cpp和h,就是項目自動生成的那些) 把你win32項目裡的Resources拷貝到當前Resources下注意刪除Classes裡面的多余資源,就是項目自動生成的那些)
第三步:編輯mk
#1注意有坑!android項目裡有一大堆mk,而且不同的教程說的mk位置還不一樣!你編輯錯誤了,是無效的跟你實際使用的mk也有關系)。在這個例子中,我們使用的是Classes下的mk
#2要修改的地方如下 LOCAL_SRC_FILES:在這裡加入你Classes下的cpp文件 LOCAL_C_INCLUDES:在這裡添加你使用的庫的h文件,如果有的話 LOCAL_LDLIBS:在這裡添加你使用的庫的lib文件,如果有的話
這裡我使用的是,之前的“是男人就堅持20秒”那個例子的代碼
注意,第三方庫和額外的庫都是要自己添加的。默認生成的mk裡沒那麼全。
第四步:運行build_native.sh腳本,編輯so庫
#1運行你的cygwin安裝目錄下的Cygwin.bat
#2進入當前Test\android路徑下 注意cygwin下的命令寫法,和win下不同
#3運行build_native.sh腳本
頭一次編譯會長些,當然圖省事你也可以把自己及其他的android項目裡面的so復制進來應該可以把,哈哈哈) 編譯完然後你會看到,在android文件夾下面生成了一大堆東西。
第五步:導入到eclipse
#1注意有坑!使用新建android項目下的Create project from existing source,如果你使用的是“導入”有可能無法識別。 #2導入成功,然後就是編譯執行了。cocos2d-x作者推薦用sh編譯so,再用eclipse編譯成apk。  

其他注意事項:     #1.win32項目對資源文件大小寫不敏感,android敏感,所以如果出錯了,把給你提供資源的人給打一頓 #2.可以直接把win32項目裡的工程文件,以及win32文件夾復制進來,項目就可以和VS共用了,當然cocos2d-x也是這麼干的 #3.vs用的是gb碼,android用的是utf-8,解決方法在vs下用iconv,另外最好全都轉成utf-8,網上有很多編碼批量轉換工具 #4.android的橫豎屏問題錯亂,在android下把 pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft); 這句用條件編譯宏給關掉

 

 

 

另外,關於cocos2d-x在android上添加第三方庫的問題,6群網友塞風朔雪寫了一個文檔,很有參考價值。我已把它上傳到附件中。

 

本文出自 “老G的小屋” 博客,請務必保留此出處http://4137613.blog.51cto.com/4127613/758783

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved