日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

cocos2d-x 把win32項(xiàng)目遷移到andriod

 gljin_cn 2014-11-06

本文為作者原創(chuàng)。其中有引用別人的部分有說(shuō)明和鏈接。

歡迎轉(zhuǎn)載。轉(zhuǎn)載不得用于商業(yè)用途。轉(zhuǎn)載時(shí)請(qǐng)表明出去 。

作者:風(fēng)里瘋語(yǔ)

鏈接:http://blog.csdn.net/xiawei32/article/details/7526262


開(kāi)發(fā)環(huán)境:vs2010 + cocos2d-1.0.1-x-0.12.0 + android-ndk-r7 + Eclipse

本文接著上篇 cocos2d-x 游戲開(kāi)發(fā)系列之二:新建win32項(xiàng)目 而來(lái)。請(qǐng)閱讀這篇前先看看上一篇文章。



目錄:

一:創(chuàng)建android工程

二:代碼遷移

三:修改導(dǎo)入的android工程

四:配置Eclipse的NDK編譯環(huán)境

五:完工,截圖,上代碼





一:創(chuàng)建android工程

進(jìn)到引擎目錄下   找到create-android-project.bat 文件  雙擊執(zhí)行


1. 輸入android包名。 我輸入的是:com.bearsoft.game.demo


2. 輸入項(xiàng)目名。 我輸入的是:win32androidDemo

3. 輸入android版本id。  我輸入的是 3.  也就是 android2.1版本。


4. 順利的話(huà)現(xiàn)在android項(xiàng)目已經(jīng)建好了。如果報(bào)錯(cuò)請(qǐng)接著看下面部分。如果沒(méi)報(bào)錯(cuò)跳過(guò)這部分看后面的。 我遇到的錯(cuò)誤是:


進(jìn)到引擎目錄下 找到剛創(chuàng)建的 win32androidDemo項(xiàng)目

進(jìn)入 win32androidDemo\android 文件夾  打開(kāi) jni 文件夾,這時(shí)會(huì)得到一個(gè)提示窗:

點(diǎn)繼續(xù) 就可以進(jìn)到文件夾了。這種情況還有很多。下面列出這些文件夾:

win32androidDemo\android\jni

win32androidDemo\android\jni\helloworld

win32androidDemo\android\src\org\cocos2dx

win32androidDemo\android\src\org\cocos2dx\application

win32androidDemo\android\src\org\cocos2dx\lib

進(jìn)到這樣的文件夾里面后我們嘗試著打開(kāi)里面的文件,結(jié)果很杯具啊,居然被拒絕訪問(wèn)。



居然被拒絕訪問(wèn)。查看了一下文件屬性:


它妹的,只有一個(gè)特殊權(quán)限。就是這個(gè)原因造成了我們的錯(cuò)誤。解決方法有兩個(gè):

a. 把這些文件夾里面的文件的權(quán)限 都改為 完全控制。

b. 從別的地方復(fù)制這些文件過(guò)來(lái)。

很顯然,方法一勞動(dòng)量巨大。那么多的文件夾那么多文件 改的想吐。下面跟著我來(lái)用方法二吧。稍微分析了幾個(gè)cocos2d-x生成android的文件。我找到了這些文件的來(lái)源。其實(shí)就是復(fù)制的HelloWorld項(xiàng)目下的。

好了知道了文件來(lái)源,下面就把這些文件都替換掉咯。

win32androidDemo\android\jni  替換文件夾下所有文件和文件夾

win32androidDemo\android\res\drawable-hdpi  替換文件夾下所有文件

win32androidDemo\android\res\drawable-ldpi  替換文件夾下所有文件

win32androidDemo\android\res\drawable-mdpi  替換文件夾下所有文件

win32androidDemo\android\src\org   替換文件夾下所有文件和文件夾

win32androidDemo\Classes 替換Android.mk 后其余刪除

win32androidDemo\Resources  全部刪除

該替的換了,該刪的刪了。下面要進(jìn)行項(xiàng)目遷移了。


二:代碼遷移

把vs2010  win32項(xiàng)目下的 Classes文件夾里的文件全部復(fù)制到android 項(xiàng)目下的win32androidDemo\Classes 文件夾下。

win32項(xiàng)目下的Resources 文件夾里的文件全部復(fù)制到android 項(xiàng)目下的win32androidDemo\android\assets  文件夾下。如果沒(méi)有assets  文件夾就創(chuàng)建一個(gè)。

好了下一步是導(dǎo)入eclipse。 打開(kāi)eclipse  新建android項(xiàng)目:

點(diǎn) next  注意下面的步驟哦。注意紅框 Location 就是剛創(chuàng)建的andorid項(xiàng)目的位置。

點(diǎn)Next 選擇 andorid版本。我選擇的是 2.1


三:修改導(dǎo)入的android工程

好了項(xiàng)目導(dǎo)入進(jìn)來(lái)了。但是有錯(cuò)。沒(méi)關(guān)系跟這我來(lái)改。

1:先點(diǎn)開(kāi)   src

打開(kāi)win32androidDemo.java 如果是空的,先它刪除,再重新創(chuàng)建一個(gè)同名的java文件。

2: 打開(kāi)ApplicationDemo.java,把里面的內(nèi)容全部復(fù)制 粘貼到 win32androidDemo.java 文件里。

3:刪除org.cocos2dx.application 包 和 ApplicationDemo.java

4:打開(kāi)win32androidDemo.java,修改以下部分:

package org.cocos2dx.application;  

-> package com.bearsoft.game.demo;(自己的包名)


public class ApplicationDemo extends Cocos2dxActivity

-> public class win32androidDemo extends Cocos2dxActivity 


setContentView(R.layout.helloworld_demo);

-> setContentView(R.layout.game_demo);


mGLView=(Cocos2dxGLSurfaceView)findViewById(R.id.helloworld_gl_surfaceview);

-> mGLView = (Cocos2dxGLSurfaceView)findViewById(R.id.game_gl_surfaceview);

保存后 錯(cuò)誤消失了。接下來(lái)打開(kāi) win32androidDemo\Classes 文件夾 找到 Android.mk

注意必須這個(gè)文件夾下的 Android.mk 打開(kāi)這個(gè)文件。

找到  HelloWorldScene.cpp   把它替換成 我們修改的  MainMenuScene.cpp

好了 至此導(dǎo)入eclipse的工作全部完成。


四:配置Eclipse的NDK編譯環(huán)境

下面在eclipse里面配置一下編譯環(huán)境。

選中  win32androidDemo項(xiàng)目  點(diǎn)擊 菜單欄 project -> properties 選項(xiàng):

點(diǎn)擊 Builders, 接著點(diǎn)擊 New...

選中Program  點(diǎn)OK

-------------------------------------------------------------------

下面的設(shè)置項(xiàng)有點(diǎn)多, 按圖片來(lái)解說(shuō)吧。  步驟都用紅框圈出來(lái)了。

1. Name:  這里隨便填一個(gè)就好了。 我填的是:win32android_Builder

2. 點(diǎn)擊 Main

3. 點(diǎn)擊  Browse File System...      彈出對(duì)話(huà)框后 選擇NDK的安裝路徑 選中 ndk-build.cmd 文件。

4. 點(diǎn)擊  Browse Workspace...      彈出對(duì)話(huà)框后 選擇當(dāng)前的項(xiàng)目。

5. 點(diǎn)擊 Refresh (就在紅色數(shù)字 2 的位置)

注意:現(xiàn)在  Apply  和   OK 都不要點(diǎn)。接著看下面的圖。

------------------------------------------------------------------------

接著上圖:  點(diǎn)擊 Refresh 后,  出現(xiàn)下圖的畫(huà)面。

1.   把紅框部分選中。

2.  點(diǎn)擊 Build Options 。

注意:現(xiàn)在  Apply  和   OK 都不要點(diǎn)。接著看下面的圖。

--------------------------------------------------------------------------

接著上圖:  點(diǎn)擊  Build Options 后,  出現(xiàn)下圖的畫(huà)面。

1.  按紅色框中 選中的 打 √ 吧。  其實(shí)紅色框中部分都選中也可以。

2.  點(diǎn)擊 Specify Resources... 

注意:現(xiàn)在  Apply  和   OK 都不要點(diǎn)。接著看下面的圖。


----------------------------------------------------------------------------

接著上圖:  點(diǎn)擊  Specify Resources...  后,  出現(xiàn)下圖的畫(huà)面。

1.  點(diǎn)開(kāi) 工程項(xiàng)目前面的 小三角。

2.  勾選上 jni

3.  好了點(diǎn)  Finsh 吧。  然后就可以點(diǎn) OK 了。

--------------------------------------------------------------------------------------------------------------------------------------------------------

好了開(kāi)始編譯了。但是好像出錯(cuò)了。

缺少 libgnustl_static.a 文件。

進(jìn)到 NDK 安裝路徑下 android-ndk-r7\sources\cxx-stl\gnu-libstdc++\libs\armeabi\libgnustl_static.a  文件手動(dòng)的copy到 cocos2d-1.0.1-x-0.12.0\win32androidDemo\android\obj\local\armeabi目錄下。

添加完 libgnustl_static.a 文件后,在菜單欄點(diǎn) Project -> Clean... 

選擇我們的win32androidDemo。 點(diǎn)擊 OK

看到這些文字的時(shí)候說(shuō)明編譯成功了。

StaticLibrary  : libcocos2d.a

StaticLibrary  : libgame_logic.a

SharedLibrary  : libhelloworld.so

Install        : libhelloworld.so => libs/armeabi/libhelloworld.so



五:完工,截圖,上代碼

好了編譯完成。

連上手機(jī) 或者打開(kāi)android模擬器運(yùn)行一下吧。

手機(jī)截屏:  屏幕上的 Hello World 杯具的只能勉強(qiáng)辨認(rèn)出 world了。。早知道把字體顏色設(shè)置成深色的。。



最后是附件下載咯。。。 android工程下載

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多