日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7(或ndkr7b)+COCOS2DX(没有用到cygwin和minigw)...

發(fā)布時(shí)間:2023/12/14 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7(或ndkr7b)+COCOS2DX(没有用到cygwin和minigw)... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

版本:

Windows XP3

JDK1.6

Eclipse 3.7.1 (需要C++插件CDT)

ADT 16.0.1

NDK7?(或是NDKR7B)

?

cocos2d-1.0.1-x-0.11.0.zip

?


?

?

注意:本教程沒有用到minigw +msys,也沒有用到cygwin ,如果用到的是NDK R6B 或是以前的版本,則需要安裝cygwin(或是minigw + msys)

?

?

前提條件:假設(shè)已經(jīng)成功安裝了JDK + Eclipse + CDT + ADT

?

下面講解如何在Eclipse中配置NDK ,運(yùn)行cocos2d-x 自帶的 test 工程

?

目錄:

Step1. 下載?android-ndk-r7-windows.zip并解壓

Step2. 下載cocos2d-x,并解壓

Step3. ?Eclipse導(dǎo)入cocos2d-x?? test項(xiàng)目

Step4. ?Eclipse中配置NDK編譯環(huán)境

Step5. 編譯Android 項(xiàng)目

?

?

?

?

安裝步驟:

Step1. 下載?android-ndk-r7-windows.zip并解壓

?

下載地址:

http://dl.google.com/android/ndk/android-ndk-r7-windows.zip

?

下載完成后,將其解壓到電腦的任何目錄中,例如:



Step2. 下載cocos2d-x,并解壓

?

下載地址:

http://cocos2d-x.googlecode.com/files/cocos2d-1.0.1-x-0.11.0.Zip

?

下載完成后,將其解壓到電腦的任何目錄中,例如:



Step3. Eclipse導(dǎo)入cocos2d-x? ?test項(xiàng)目

?

打開Eclipse

依次點(diǎn)擊File –? New – Project… AndroidProject

?

選擇“Create Project ?from existing? Source”

如下圖所示,找到test.android? 目錄



點(diǎn)擊Next




選擇Android 2.1版本,這里直接點(diǎn)擊Next ,或是Finish就創(chuàng)建完成了



Step 4. Eclipse中 配置NDK編譯環(huán)境

?

首先選擇TestDemos項(xiàng)目,然后選擇菜單中的Project – Properties


選擇Bilders – New -- Program



打開后,進(jìn)行如下的設(shè)置:

?

Location:一定要選擇ndk-build.cmd 命令

Working Directory:選擇TestDemo




注意:這里如果是 0.13 之后的版本,請不要用ndk-build.cmd 文件,請用 我寫的build_android_ndk_tests.bat (可以到我下面指定的地點(diǎn)下載)


下面選擇Refresh ?,配置如下:



越過Envirment ,直接點(diǎn)擊Build Options,配置如下圖所示:




設(shè)置完成后,點(diǎn)擊OK

?

Eclipse 會自動的進(jìn)行編譯,耐心等待一會,下面是Eclipse開始自動進(jìn)行編譯的過程

(注意編譯過程中有個(gè)小問題)



編譯過程中的問題:




解決方法:

將android-ndk-r7\sources\cxx-stl\gnu-libstdc++\libs\armeabi\libgnustl_static.a? 文件手動的copy到cocos2d-1.0.1-x-0.11.0\tests\test.android\obj\local\armeabi目錄下



以上問題其實(shí)是Google NDK R7版本的bug,會在下一版本中更改(?NDKR7B版本已經(jīng)更改了這個(gè)bug,所以在NDKR7B上的話就不需要這一步了?)

http://code.google.com/p/android/issues/detail?id=22268




copy過去后執(zhí)行下Project –-clean 動作,系統(tǒng)又會自動的進(jìn)行編譯了,等待一點(diǎn)時(shí)間后,庫文件就會編譯完成



?

至此,cocos2d-x庫文件就編譯完成了

?

?看到網(wǎng)友的反饋,說是找不到assets資源或是黑屏現(xiàn)象


原因是:android下的assets目錄沒有任何的資源文件,所以需要我們手動的將cocos2d-1.0.1-x-0.11.0\tests\Res ?下的資源 復(fù)制到 ?cocos2d-1.0.1-x-0.11.0\tests\test.android\assets ?目錄中


復(fù)制完成后,還需要刪除Images\test_image_rgba4444.pvr.gz ? 文件

?

Step5. 編譯Android 項(xiàng)目

連接Android手機(jī)

依次點(diǎn)擊? Run as…Android Application

?

下面是我的小米手機(jī)的運(yùn)行截圖





說明:本配置過程沒有用到Cygwin或是 minigw + msys,完全用的是NDK自帶的編譯器


?






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


2012-04-17更新:

cocos2d-x 0.13版本有些變動,需要用我改寫的 ndk-build.cmd ?文件進(jìn)行編譯且方法有2種,直接用NKD,脫離Eclipse編譯庫,第2種還是用Eclipse 輔助編譯庫


批處理下載地址(內(nèi)有使用說明)


http://download.csdn.net/detail/maojudong/4233381

脫離繁重的Cygwin.NDK編譯脫離Cygwin


1. 請將文件放到cocos2d-1.0.1-x-0.13.0-beta目錄下面
2. 打開build_android_ndk_tests.bat 文件 修改set NDK_ROOT=D:\Work7\android-ndk-r7c到你的NDK實(shí)際路徑即可
3. jni/Application.mk ?文件中加入APP_PLATFORM :=android-5 ??
4. 在jni目錄中添加雙擊此批處理即可編譯庫文件

注1:0.13版本的cocosw2d-x 搭配 Eclipse 也可以使用這個(gè)批處理,不要使用NDK自帶的ndk-build.cmd
注2:此批處理可以脫離Eclipse,只用NDK自帶的編譯器即可,這里只用來編譯庫,如果要打包到APK還是需要Eclipse的,將剛剛編譯的庫導(dǎo)入即可

上面講解了兩種方法,自行選擇

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
build_android_ndk.bat ?需要在開始 --> 運(yùn)行 ?CMD 后 運(yùn)行的批處理
方法有2:

方法1: 運(yùn)行build_android_ndk.bat -C tests/test.android/jni
方法2:?
#cd tests/test.android/jni
#..\..\..\build_android_ndk.bat ?

效果是一樣的

0.11 0.12 0.13 版本都測試通過


脫離繁重的Cygwin(但是使用cocoss2d-x下的create-android-project.bat創(chuàng)建還是需要Cygwin,你可以嘗試更改這個(gè)文件,讓其不依賴Cygwin,我相信能夠做到,只是時(shí)間問題 ,呵呵)




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

2012-10-21更新:

時(shí)代在進(jìn)步,蘋果發(fā)布了IOS6和iphone5,不知道蘋果過些天的iPad mini 怎么樣,cocos2dx也更新到2.0.3 ?,社區(qū)也在不斷的進(jìn)步,由于這一段時(shí)間來工作特別忙,cocos2dx的日志有就沒有更新了,今天到社區(qū)下載了最新的2dx版本進(jìn)行了簡單的測試,還好基本都通過


XP32位系統(tǒng) + JDK1.6 +?

NDKR8b + 2dx (0.11/0.12/.13/2.0/2.0.1/2.0.2/2.0.3) 測試通過

NDKR8 + 2dx (0.11/0.12/.13/2.0/2.0.1/2.0.2/2.0.3) ??測試通過


全部編譯通過,沒有出現(xiàn)網(wǎng)友說的問題

說下注意點(diǎn):
1. ?java編譯器使用1.6.x (不建議用1.5.x/1.7.x)

2. ?有些安裝了cygwin的,請暫時(shí)從PATH中屏蔽掉關(guān)于cygwin的內(nèi)容

3. ?jni目錄中要有Application.mk文件,且其中一定要有APP_PLATFORM :=android-5 (2dx 的 2.0.x系列至少為android-5, ? ? ? ? 1.x至少為android-4)Eclipse編譯則不需要這一步,不過建議還是寫上好些


4. ?2dx的0.10版本,ndk_build.cmd 不能完成編譯,需要安裝cygwin才能編譯(或者linux/macos 編譯),更早期的版本就沒有測試了,相信做項(xiàng)目也很少有人用0.10以前的版本了


5. ?Eclipse編譯環(huán)境中?2.0.3/2.0.2 /2.0.1 需要先導(dǎo)入\cocos2dx\platform\android\java項(xiàng)目,然后用Eclipse編譯出一個(gè) jar文件,最后將這個(gè)jar文件導(dǎo)入到 tests 項(xiàng)目中的libs就可完成編譯(應(yīng)一個(gè)網(wǎng)友的要求才這么說的,感謝他,是我的表述不清楚)


2.0.2 /2.0.1 中\(zhòng)cocos2dx\platform\android\java導(dǎo)入后,源代碼不是src目錄,卻是src_common 目錄,所以可以修改.classpath ? 文件,或是更改src_common到src是最簡單的方法


6. 不要用模擬器進(jìn)行調(diào)試,模擬器的速度慢,導(dǎo)致加載時(shí)間長,最后黑屏,時(shí)間長了,就導(dǎo)致ANR(應(yīng)用程序無響應(yīng)),建議買個(gè)android 平板或是手機(jī)吧(現(xiàn)在很便宜,299元錢的android平板到處都有賣(我的公司就有賣),1000元錢可以買到雙核甚至4核的手機(jī)了)

如果非要用模擬器進(jìn)行調(diào)試,請將AVD模擬器中添加 GPU emulation 屬性,并將值設(shè)置為yes就可以了

經(jīng)過2個(gè)小時(shí)的測試發(fā)現(xiàn) 只有4.0.3 和4.1.2 兩個(gè)版本的模擬器顯示正常,且模擬器需要開啟GPU emulation 功能。

我的測試平臺:

2dx 2.0.3 版本+ MAC 10.8.2 + jdk1.6 + eclipse3.7.2?


模擬器開啟GPU功能?

2.2 ??模擬器很卡,且異常退出,無法操作 ? ? ? ? ? 結(jié)論:不通過,不能用于調(diào)試2dx ? ? ?

2.3.1 ?模擬器很卡,且異常退出,無法操作 ? ? ? ? 結(jié)論:不通過,不能用于調(diào)試2dx ? ? ?

2.3.3 ??模擬器很卡,且異常退出,無法操作 ? ? ? ?結(jié)論:不通過,不能用于調(diào)試2dx ? ?

3.X ? ? ?未測試

4.0 ? ? ?模擬器不能開啟,,且異常退出,無法操作 ? ? ? ?結(jié)論:不通過,不能用于調(diào)試2dx ? ?

4.0.3 ? ??2dx可以運(yùn)行,可以調(diào)試

4.1.2 ? ? 2dx運(yùn)行正常,可以調(diào)試


模擬器未開啟GPU功能?

2.2 ? ? ? 黑屏 ? ? ? ? ? ?結(jié)論:不通過,不能用于調(diào)試2dx ? ? ?

2.3.1 ? ?異常退出 ? ??結(jié)論:不通過,不能用于調(diào)試2dx

2.3.3 ? ?異常退出 ? ??結(jié)論:不通過,不能用于調(diào)試2dx

3.X ? ? ?未測試

4.0 ? ? ??異常退出 ? ??結(jié)論:不通過,不能用于調(diào)試2dx?

4.0.3 ? ?異常退出 ? ??結(jié)論:不通過,不能用于調(diào)試2dx

4.1.2 ? ?異常退出 ? ??結(jié)論:不通過,不能用于調(diào)試2dx


2dx中的論壇也有討論這個(gè)

http://cocos2d-x.org/boards/6/topics/12563

http://www.cocos2d-x.org/boards/6/topics/12563?r=19274#message-19274

http://stackoverflow.com/questions/13702538/cocos2d-x-v-2-0-4-fatal-exception-glthread-when-run-on-android-emulator

這位兄弟的文章也不錯

http://www.raywenderlich.com/12065/how-to-create-a-simple-android-game

原因是?

Android 4.0.3 r2 以上的版本 才 增加GPU支持和CPU加速


Android4.2模擬器 要添加一行代碼

Cocos2dxActivity.java

<code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;">將代碼</code><code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;"> </code><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">gLSurfaceView</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">setEGLConfigChooser</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">(</span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">8</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">8</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">8</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">8</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">16</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"> </span><span class="lit" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: rgb(128, 0, 0);">0</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">);?</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;">添加到</span><span class="pun" style="background-color: transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"></span><pre class="default prettyprint prettyprinted" name="code" style="white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; background-color: rgb(238, 238, 238); font-weight: bold; padding: 5px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; overflow: auto; width: auto; max-height: 600px;"><code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;"><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">gLSurfaceView</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">setCocos2dxRenderer</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(0, 0, 139);">new</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;"> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(43, 145, 175);">Cocos2dxRenderer</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">());</span></code>的前面即可

祝你好運(yùn)!




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

2012-12-26更新:

世界末日沒有到來,生活還是要繼續(xù),勤奮的2dx社區(qū)和2dx開發(fā)者發(fā)布了新的版本,連google也發(fā)布了NDKR8C/NDKR8D (R8D支持gcc4.7了,高興中...),之前我一直認(rèn)為需要用一個(gè)批處理,其實(shí)適當(dāng)?shù)木帉懪渲梦募?#xff0c;可以拋開我的bat批處理,下面簡單的介紹一下


Eclipse + NDK的編譯方法


方法1:在Application.mk 下加入如下代碼(根據(jù)實(shí)際路徑進(jìn)行修改)
路徑中不能有空格,根據(jù)自己的實(shí)際路徑進(jìn)行編寫
NDK_MODULE_PATH:=D:\work7\cocos2d-2.1beta3-x-2.1.0;?\

D:\work7\cocos2d-2.1beta3-x-2.1.0/cocos2dx/platform/third_party/android/prebuilt \

?

注意NDK_MODULE_PATH 路徑分割符號是分號 “;” ,Linux 或者OS X 系統(tǒng)請更改為冒號 “:”


然后Eclipse中導(dǎo)入NDK路徑中的?ndk-build.cmd 文件,具體請參看文章的截圖

方法2:在Eclipse中
Edit Configuration中的 參數(shù)Arguments:中加入?yún)?shù) 根據(jù)自己的實(shí)際路徑進(jìn)行編寫
NDK_MODULE_PATH:=D:\work7\cocos2d-2.1beta3-x-2.1.0;D:\work7\cocos2d-2.1beta3-x-2.1.0/cocos2dx/platform/third_party/android/prebuilt ? -j8

注意NDK_MODULE_PATH 路徑分割符號是分號 “;” ,Linux 或者OS X 系統(tǒng)請更改為冒號 “:”
NDK_MODULE_PATH:= ?或者用NDK_MODULE_PATH = 即等號前面的 冒號 ":" 可有可無

其中-j8 表示開啟的編譯線程數(shù)量,請根據(jù)自己的CPU核心數(shù)進(jìn)行更改,如我電腦是的8核心CPU所以是 -j8

?

然后導(dǎo)入NDK路徑中的?ndk-build.cmd 文件,?具體請參看文章的截圖

?


下面的方法3和方法4就是我的老式方法,讀者可以優(yōu)先選用上面的方法1和方法2

方法3:

Eclipse中 直接導(dǎo)入一個(gè)自己寫的批處理文件

build_android_ndk_tests2.1.0.bat ?這里不指定編譯的目錄

?

方法4:

先用build_android_ndk_tests2.1.0.bat 編譯出來一個(gè)jni庫文件,然后在Eclipse中

編譯帶有l(wèi)ibs目錄庫文件就可以了(圖片等資源還是需要自己copy到指定的目錄),編譯出一個(gè)apk文件

轉(zhuǎn)載于:https://www.cnblogs.com/Anzhongliu/p/6092008.html

總結(jié)

以上是生活随笔為你收集整理的搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7(或ndkr7b)+COCOS2DX(没有用到cygwin和minigw)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。