参考文章http://mobile.51cto.com/iphone-330448.htm
http://www.cnblogs.com/lhming/archive/2012/06/27/2566467.html //cocos2dx android
(一)win7
环境:win7 64,vs2010,cocos2dx 2.0.1
找到cocos2dx目录(直接解压cocos2dx生成的目录)
依次运行
build-win32.bat 编译整个项目
install-templates-msvc.bat 安装wizard,bat脚本会自动对应vs2008,vs2010.
然后打开vs2010新建工程里就会多出cocos2dx工程
运行cocos2d-win32.vc2010.sln
这里出现过个问题install-templates-msvc.bat运行完新建工程时并没有cocos2dx选项
直接用cmd重新运行了install-templates-msvc.bat提示输入错误:没有文件扩展“.js”的脚本引擎
原来是.js文件被别的程序关联了
需要修改注册表[HKEY_CLASSES_ROOT\.js]下的默认那项键值改为“JSFile”
再重新运行install-templates-msvc.bat问题解决
(二)ios
环境:虚拟机vm8.0.3 ,mac lion10.7.4 ,xcode4.2 ,cocos2dx 2.0.1
1 安装
打开命令行
cd到cocos2dx目录下(直接解压cocos2dx生成的目录)
chmod +x install-templates-xcode.sh 获取执行权限
sudo ./install-templates-xcode.sh 安装cocos2dx到xcode
后面会自动识别xcode版本
2 运行cocos2dx
打开xcode创建项目里面会多出cocos2d的选项
新建,运行即可
(三)android
环境:win7 64,cygwin,eclipse juno 64,jdk 1.6 64,ndk r7
先说正常流程
1
修改cocos2dx根目录下create-android-project.bat
set_CYGBIN=C:\cygwin\bin Cygwinbin的路径
set_ANDROIDTOOLS=D:\android\android-sdk-windows\tools android sdktools的路径
set_NDKROOT=D:\android\android-ndk-r5b ndk的根目录
运行create-android-project.bat
2
依次根据提示输入包名,项目名,android版本号我用的2.3.3
会在cocos2dx文件夹下生成项目文件
里面Classes(c文件),proj.android(android工程),Resources(资源文件)
3
进入cygwin,cd到cocos2dx根目录下,执行./build-win32.bat 用于编译生成so库文件
4
打开eclipse,导入proj.android里的工程,然后直接运行
然后是非正常流程
进入cocs2d-x目录,用文本编辑器打开create-android-project.bat(在windows 7上如果正常双击,可能创建时有些文件的权限不足,导致创建工程不成,可以在此文件的第一行加上cd
/d %~dp0,然后右键以管理员身份运行,不加这句无法用管理员权限运行)
将_CYGBIN=设置为cycgwin\bin安装的的绝对路径。
将_ANDROIDTOOLS设置为android sdk 的tools绝对路径
将_NDKROOT设置为android ndk的绝对路径
@echo off :: This script is used to create an android project. :: You should modify _ANDROIDTOOLS _CYGBIN _NDKROOT to work under your environment. :: Don't change it until you know what you do. cd /d %~dp0 setlocal
右键以管理员身份运行create-android-project.bat
运行的时候会出现各种Permisson denied
解决方法如下
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\runas] @="管理员取得所有权" "NoWorkingDirectory"="" [HKEY_CLASSES_ROOT\*\shell\runas\command] @="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F" "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F" [HKEY_CLASSES_ROOT\exefile\shell\runas2] @="管理员取得所有权" "NoWorkingDirectory"="" [HKEY_CLASSES_ROOT\exefile\shell\runas2\command] @="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F" "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F" [HKEY_CLASSES_ROOT\Directory\shell\runas] @="管理员取得所有权" "NoWorkingDirectory"="" [HKEY_CLASSES_ROOT\Directory\shell\runas\command] @="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t" "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
将这段保存为 .reg文件,然后用管理员权限运行
之后任何文件右键都会有 管理员取得所有权 的选项
我在两个文件夹运行了这分别是cocos2d-x解压后的文件夹和ndk解压后的文件夹
但问题是之后用管理员运行
也会各种Permisson denied
后发现主要是新建立的项目中(就是在cocos2dx根目录下生成的项目文件)一些文件没权限导致生成so库失败
位置如下
cocos2dx根目录\新生成的项目名\proj.android\jni\helloworld里面的main.cpp
cocos2dx根目录\新生成的项目名\proj.android\obj\local\armeabi
这里面的文件需要挨个给权限,方法右键->属性->安全->给用户完全控制权限即可(每次cocos2d创建android项目后都要这么做)
之后可正常生成so文件
到这微软给我们造成的麻烦还没有结束,用户权限问题还在继续能关的都关了,也搞不定微软的权限,sb微软
生成在cocos2d根目录下的项目文件里有个NUL文件,导致项目不能移动和删除,根本没法导入到eclipse中
解决办法把项目文件复制出来,
复制的时候会提示NUL文件是否跳过,选跳过,
另外项目文件中proj.android\obj\local\armeabi里面的文件还要一一右键改权限,操蛋(之前已经做了的话这里应该不用再做,但要注意,总之没权限是不能复制的)
把整个项目复制出去后(此时里面已经没有了NUL这个文件)就可以用eclipse导入了
到最后win7权限的问题还是恶心的想吐,各种办法试过,很多文件还是没权限,看来还是用Administrator吧。
最后cocos2d 2.0以上暂时无法用模拟器,要用真机看效果