本文為作者原創(chuàng)。其中有引用別人的部分有說明和鏈接。 歡迎轉(zhuǎn)載。轉(zhuǎn)載不得用于商業(yè)用途。轉(zhuǎn)載時請表明出去 。 作者:風(fēng)里瘋語 鏈接:http://blog.csdn.net/xiawei32/article/details/7526262
開發(fā)環(huán)境:vs2010 + cocos2d-1.0.1-x-0.12.0 + android-ndk-r7 + Eclipse 本文接著上篇 cocos2d-x 游戲開發(fā)系列之二:新建win32項目 而來。請閱讀這篇前先看看上一篇文章。
目錄: 一:創(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. 輸入項目名。 我輸入的是:win32androidDemo 3. 輸入android版本id。 我輸入的是 3. 也就是 android2.1版本。
4. 順利的話現(xiàn)在android項目已經(jīng)建好了。如果報錯請接著看下面部分。如果沒報錯跳過這部分看后面的。 我遇到的錯誤是:
進(jìn)到引擎目錄下 找到剛創(chuàng)建的 win32androidDemo項目 進(jìn)入 win32androidDemo\android 文件夾 打開 jni 文件夾,這時會得到一個提示窗: 點繼續(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)到這樣的文件夾里面后我們嘗試著打開里面的文件,結(jié)果很杯具啊,居然被拒絕訪問。
居然被拒絕訪問。查看了一下文件屬性:
它妹的,只有一個特殊權(quán)限。就是這個原因造成了我們的錯誤。解決方法有兩個: a. 把這些文件夾里面的文件的權(quán)限 都改為 完全控制。 b. 從別的地方復(fù)制這些文件過來。 很顯然,方法一勞動量巨大。那么多的文件夾那么多文件 改的想吐。下面跟著我來用方法二吧。稍微分析了幾個cocos2d-x生成android的文件。我找到了這些文件的來源。其實就是復(fù)制的HelloWorld項目下的。 好了知道了文件來源,下面就把這些文件都替換掉咯。 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)行項目遷移了。
二:代碼遷移把vs2010 win32項目下的 Classes文件夾里的文件全部復(fù)制到android 項目下的win32androidDemo\Classes 文件夾下。 win32項目下的Resources 文件夾里的文件全部復(fù)制到android 項目下的win32androidDemo\android\assets 文件夾下。如果沒有assets 文件夾就創(chuàng)建一個。 好了下一步是導(dǎo)入eclipse。 打開eclipse 新建android項目:
點 next 注意下面的步驟哦。注意紅框 Location 就是剛創(chuàng)建的andorid項目的位置。 點Next 選擇 andorid版本。我選擇的是 2.1
三:修改導(dǎo)入的android工程好了項目導(dǎo)入進(jìn)來了。但是有錯。沒關(guān)系跟這我來改。 1:先點開 src 打開win32androidDemo.java 如果是空的,先它刪除,再重新創(chuàng)建一個同名的java文件。
2: 打開ApplicationDemo.java,把里面的內(nèi)容全部復(fù)制 粘貼到 win32androidDemo.java 文件里。 3:刪除org.cocos2dx.application 包 和 ApplicationDemo.java 4:打開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);
保存后 錯誤消失了。接下來打開 win32androidDemo\Classes 文件夾 找到 Android.mk 注意必須這個文件夾下的 Android.mk 打開這個文件。 找到 HelloWorldScene.cpp 把它替換成 我們修改的 MainMenuScene.cpp 好了 至此導(dǎo)入eclipse的工作全部完成。
四:配置Eclipse的NDK編譯環(huán)境下面在eclipse里面配置一下編譯環(huán)境。 選中 win32androidDemo項目 點擊 菜單欄 project -> properties 選項: 點擊 Builders, 接著點擊 New... 選中Program 點OK ------------------------------------------------------------------- 下面的設(shè)置項有點多, 按圖片來解說吧。 步驟都用紅框圈出來了。 1. Name: 這里隨便填一個就好了。 我填的是:win32android_Builder 2. 點擊 Main 3. 點擊 Browse File System... 彈出對話框后 選擇NDK的安裝路徑 選中 ndk-build.cmd 文件。 4. 點擊 Browse Workspace... 彈出對話框后 選擇當(dāng)前的項目。 5. 點擊 Refresh (就在紅色數(shù)字 2 的位置) 注意:現(xiàn)在 Apply 和 OK 都不要點。接著看下面的圖。 ------------------------------------------------------------------------ 接著上圖: 點擊 Refresh 后, 出現(xiàn)下圖的畫面。 1. 把紅框部分選中。 2. 點擊 Build Options 。 注意:現(xiàn)在 Apply 和 OK 都不要點。接著看下面的圖。
-------------------------------------------------------------------------- 接著上圖: 點擊 Build Options 后, 出現(xiàn)下圖的畫面。 1. 按紅色框中 選中的 打 √ 吧。 其實紅色框中部分都選中也可以。 2. 點擊 Specify Resources... 注意:現(xiàn)在 Apply 和 OK 都不要點。接著看下面的圖。
---------------------------------------------------------------------------- 接著上圖: 點擊 Specify Resources... 后, 出現(xiàn)下圖的畫面。 1. 點開 工程項目前面的 小三角。2. 勾選上 jni 3. 好了點 Finsh 吧。 然后就可以點 OK 了。 --------------------------------------------------------------------------------------------------------------------------------------------------------
好了開始編譯了。但是好像出錯了。 缺少 libgnustl_static.a 文件。 進(jìn)到 NDK 安裝路徑下 android-ndk-r7\sources\cxx-stl\gnu-libstdc++\libs\armeabi\libgnustl_static.a 文件手動的copy到 cocos2d-1.0.1-x-0.12.0\win32androidDemo\android\obj\local\armeabi目錄下。 添加完 libgnustl_static.a 文件后,在菜單欄點 Project -> Clean...
選擇我們的win32androidDemo。 點擊 OK
看到這些文字的時候說明編譯成功了。 StaticLibrary : libcocos2d.a StaticLibrary : libgame_logic.a SharedLibrary : libhelloworld.so Install : libhelloworld.so => libs/armeabi/libhelloworld.so
五:完工,截圖,上代碼好了編譯完成。 連上手機(jī) 或者打開android模擬器運(yùn)行一下吧。
手機(jī)截屏: 屏幕上的 Hello World 杯具的只能勉強(qiáng)辨認(rèn)出 world了。。早知道把字體顏色設(shè)置成深色的。。
最后是附件下載咯。。。 android工程下載
|
|