在win8上搞這東西搞了兩天,同學在蘋果的本上配置只用了很短的時間....
在此只記錄配置的核心部分,jdk,sdk,eclipse,adt,ndk,cdt,cygwin安裝網上都有大篇的安裝教程不用累述。
我的開發工具的安裝目錄或者解壓目錄如下:
1、sdk:D:\adt-bundle-windows-x86\sdk
2、eclipse:D:\adt-bundle-windows-x86\eclipse
3、ndk:D:\android-ndk-r8e
4、cygwin:D:\cygwin
5、jdk:D:\Java\jdk1.6.0_11
6、當然還得下載最新的cocos2d-x給出http://cocos2d.cocoachina.com/download
我的是cocos2d-2.1rc0-x-2.1.3.zip解壓到一個目錄我的是:D:\cocos2d-2.1rc0-x-2.1.3
****下面的步驟我認爲都是很重要的*****
1、JDK環境變量
新建環境變量:JAVA_HOME 值爲:D:\Java\jdk1.6.0_11(jdk安裝目錄)
新建環境變量:CLASSPATH 值爲:
.;%JAVA_HOME%\lib; ( 注意:點號表示當前目錄,不能省略)
在系統變量Path的值的前面加入以下內容:%JAVA_HOME%\bin;(注意:這裏的分號不能省略)到這裏,JDK安裝完畢。
單擊“開始”—>“運行”—>輸入:cmd命令,在CMD窗口中輸入:java -version
出現如下界面,就表示安裝成功:
新建環境變量:NDK_ROOT 值爲:D:\android-ndk-r8e(ndk安裝目錄)
然後找到名爲Path的系統變量,在句首添加%NDK_ROOT%;別忘記分號
3、SDK環境變量
新建環境變量:ANDROID_SDK_HOME 值爲:D:\adt-bundle-windows-x86\sdk(sdk安裝目錄)
然後找到名爲Path的系統變量,在句首添加%ANDROID_SDK_HOME%/platform-tools;%ANDROID_SDK_HOME%/tools;別忘記分號
4、cygwin環境變量
在path句首添加D:\cygwin;D:\cygwin\bin;
運行cygwin,在彈出的命令行窗口輸入:cygcheck -c cygwin命令,會打印出當前cygwin的版本和運行狀態,如果status是ok的話,則cygwin運行正常
- 配置文件權限管理
Cygwin一樣模擬了Linux的權限管理體系,這也沒有什麼不好的,但是跟Microsoft Windows的默認權限管理卻有些不對付。常會出現權限問題,一個文件可以手動改,但如果是多個文件就比較麻煩了,我這裏採用徹底的解決方法是,在安裝好Cygwin以後,禁止Cygwin採用POSI體系的權限管理。使用文本編輯器打開 Cygwin目錄\etc\fstab,末尾添加代碼: none / cygdrive binary,user,noacl,posix=0 0 0
在命令行中進入cygwin目錄,並執行cygwin.bat,如果你不是用Administrator賬號登錄的系統,那麼會在cygwin\home\文件夾中生成一個以你的登錄名命名的新的文件夾。
修改新生成文件夾中的“.bash_profile ”文件,用UE或editplus等文本編輯器打開,在最後增加: (/d/android-ndk-r8e是安裝ndk的路徑)
NDK_ROOT=/cygdrive/d/android-ndk-r8e
export NDK_ROOT
然後保存關閉。
5、cocos2d-x配置
進入cocos2d-x目錄(我的是D:\cocos2d-2.1rc0-x-2.1.3)選擇create-android-project.bat用編輯器打開,在此文件的第一行加上cd /d %~dp0,在該文件中找到以下幾個定義 : _CYGBIN、_ANDROIDTOOLS、_NDKROOT。
將_CYGBIN=設置爲cycgwin\bin安裝的的絕對路徑。
將_ANDROIDTOOLS設置爲android sdk 的tools絕對路徑
將_NDKROOT設置爲android ndk的絕對路徑
修改完畢,保存後。如下圖
6、修改ndk的一個自帶bug
在ndk目錄下找到D:\android-ndk-r8e\build\core\build-binary.mk用編輯器打開,大概在第49行:將$(cleantarget): PRIVATE_CLEAN_FILES := ($(my)OBJS)修改爲$(cleantarget): PRIVATE_CLEAN_FILES := $($(my)OBJS)
其實就是多了一個$符號
7、創建一個android+cocos2d-x的HelloWorld程序
在cocos2d-x的目錄下找到並雙擊create-android-project.bat開始工程創建嚮導
- 首先是輸入包名(建議按照android的命名規則),如org.yourname.test
- 然後輸入工程名稱(注意不要輸入已有的文件夾的名字,如果同名,會被覆蓋掉的)如HelloWorld
- 選擇target id,他會列出不同API方案用ID來標識,根據你的需要選擇
- 創建完成(如果創建過程中遇到權限錯誤,請確認上述Cygwin文件權限管理是否配置過了)
- 查看cocos2d-x的目錄下,則多了一個文件夾,文件夾名則爲你剛剛輸入的工程名稱HelloWorld
進去看到三個文件夾:
Classes 存放默認工程的C++文件
proj.android android的eclipse工程項目
Resources 資源文件
****選擇sdk***輸入id號
打開eclipse將項目導入Eclipse;File->Import->Android->Existing Android Code Into Workspace
Root Directory 選擇剛剛創建的HelloWorld項目下的proj.android,如下圖
然後會報一個錯誤,是因爲沒有導入cocos2d-x的java庫造成的,我們導入D:\cocos2d-2.1rc0-x-2.1.3\cocos2dx\platform\android\java
在Eclipse裏,右鍵項目->properties->builders->new->program->ok
依次配置4個界面如下圖
1)main面板下->location->browse file system->選擇你的NDK目錄下的ndk-build.cmd
main面板下->working directory->browse workspace..->選擇當前項目
refresh面板下的specific resource選擇爲當前目錄下的jni文件夾,如下圖
environment面板下->new...->如下所示
value處填寫
cocos2d-x的根目錄+分號+cocos2d-x的根目錄/cocos2dx/platform/third_party/android/prebuilt
Build Options面板下,Specify Resouces..選擇當前項目的jni文件夾,其他配置如下圖:
都弄好以後如果出現
說明api等級不符合,只要在AndroidManifest.xml裏面把minSdkversion修改一下就行了,如我應該修改成9
最後在clean一下,就等編譯了,時間稍微有點長,需要耐心,如果出現如下情況說明就好了!此時運行一下程序
運行如下
如果出現黑屏現象,則是因爲權限不夠的問題,此時將資源文件複製到assest文件夾下。
將NDK 目錄下的/sources/cxx-stl/gnu-libstdc++/libs/armeabi/ 目錄下的libgnustl_static.a 文件復
制到項目文件夾下的obj/local/armeabi/libgnustl_static.a
目錄下,之後右鍵項目選擇runas-Android
Application 運行就搞定了!
8、運行cocos2d-x的demo
cocos2d-x自帶了很多的demo,可以在D:\cocos2d-2.1rc0-x-2.1.3\samples下找到我們選擇D:\cocos2d-2.1rc0-x-2.1.3\samples\Cpp\TestCpp\proj.android導入eclipse工程
直接就可以編譯運行的,如果不行就按照上面的辦法設置一個Builder,但是有時能夠編譯卻不能運行會出現一個**target pattren no % .stop(具體我也記不清了)的錯誤此時只要右鍵-項目名稱-屬性-C++構建,如下圖:
在構建命令這一行裏去掉反斜槓('/'),即把bash ${ProjDirPath}/build_native.sh換成bash ${ProjDirPath}build_native.sh
這樣就能夠運行程序了,如下圖:
如果出現AssetsManager.o的錯誤則直接清空org文件夾下的的內容再次運行
這樣就能運行cocos給的幾個小遊戲了