转自:http://blog.sina.com.cn/s/blog_7895ec0201015fr0.html
WIN下的升级很简单只要重新运行次就好了。
现在主要看MAC下的升级:
现在主要看MAC下的升级:
首先说一下升级Xcode的模板。就是把~/Library/Developer/Xcode/Templates的cocos2d-x删掉,然后运行cocos2d-x根目录下的install-templates-xcode.sh
第二步:下载完成之后将其放置到了Mac系统中;(点击Finder-点击左侧的“文稿”);
第三步:启动终端;(点击Finder-前往-实用工具-终端)
第四步:先利用命令进入当前的 “cd documents” 进入Documents文件夹,继续进入文件夹命令:“cd cocos2d-1.0.1-x-0.9.2”,然后“sudo ./install-templates-xcode.sh”命令开始执行安装命令,这时候
然后说一下android的环境(Mac/
Linux)。主要看下一几个脚本文件。
1. cocos2d-x根目录下的create-android-project.sh脚本
[cpp]
export ANDROID_SDK_ROOT=~/workspace/android-sdk-macosx
export ANDROID_NDK_ROOT=~/workspace/android-ndk-r8b
export COCOS2DX_ROOT=~/workspace/cocos2d-x
export NDK_ROOT=~/workspace/android-ndk-r8b
export PATH=$PATH:$ANDROID_SDK_ROOT
export PATH=$PATH:$ANDROID_NDK_ROOT
export ANDROID_SDK_ROOT=~/workspace/android-sdk-macosx
export ANDROID_NDK_ROOT=~/workspace/android-ndk-r8b
export COCOS2DX_ROOT=~/workspace/cocos2d-x
export NDK_ROOT=~/workspace/android-ndk-r8b
export PATH=$PATH:$ANDROID_SDK_ROOT
export PATH=$PATH:$ANDROID_NDK_ROOT设为自己的路径即可
这个脚本主要做了两件事
1. 创建一个android工程 就是调的android.sdk/tools/下的android命令,具体可以自己看谷歌文档
2. 调用template/android/下的copy_files.sh脚本来拷贝文件,并对工程进行一些修改,比如小改AndroidManifest.xml。
好了 ,看一下copy_files.sh这个脚本,就是一系列的copy,比如拷贝资源文件,java文件,修改AndoirdManifest.xml。
主要工作的脚本就是这两个。问题来了
之前用的2.0.1的版本,在根目录下有个HelloWorld。运行create-android-project.sh脚本创建一个新工程,它的初始java文件 jni文件,资源文件都是拷贝自这个HelloWorld工程。
然后2.1.0的版本有一些改动。2.1.0版将helloworld 和tests及一些Lua,javascript的demo都放在了samples目录下。\
在2.1.0版的根目录下运行create-android-project.sh生成新工程会出现问题,AndoridManifest.xml是个空文件,不能用ant编译。
我通过查看它的脚本,发现copy_files.sh有惊喜
[cpp]
HELLOWORLD_ROOT=$COCOS2DX_ROOT/samples/HelloCpp
HELLOWORLD_ROOT=$COCOS2DX_ROOT/samples/HelloCpp这个是定义的HelloWorld的路径,这个路径不对,少个Cpp。所以这个需要改为如下:
[cpp]
HELLOWORLD_ROOT=$COCOS2DX_ROOT/samples/Cpp/HelloCpp
HELLOWORLD_ROOT=$COCOS2DX_ROOT/samples/Cpp/HelloCpp所以拷贝的时候根本找不到helloworld的目录,嘿嘿。
再看copy_src_and_jni()函数,它拷贝了HellWorld目录的src和jni文件。这个脚本和2.0.1版本有一点区别。2.0.1是先调用copy_src_and_jni()函数拷贝src和jni目录,然后调用copy_library_src()拷贝cocos2dx/platform/android/java/src_common/下的java文件。而2.1.0没有copy_library_src()函数,就是没有拷贝platform下的java文件。它是怎么做的呢。
在create-android-project.sh中有一行
[cpp]
$ANDROID_SDK_ROOT_LOCAL/tools/android update project -l ../../cocos2dx/platform/android/java -p $PROJECT_DIR/
proj.android
$ANDROID_SDK_ROOT_LOCAL/tools/android update project -l ../../cocos2dx/platform/android/java -p $PROJECT_DIR/
proj.android它是把platform下的java文件作为新工程的库来搞的。所以如果用eclipse的话同样可以把platform下的java做成一个库工程。但我试过在命令行,用ant编译不过。我不知道是不是它updata project后生成的build.xml问题,个人比较菜,没搞定,求高手指教。
于是我还是把他改成跟2.0.1一样的方式了。如下
1.注释掉上面那句,即在行首加一个#
2.修改copy_files.sh脚本的HELLOWORLD_ROOT路径,如下
![Cocos2d-x版本升级 \](http://www.2cto.com/uploadfile/2012/1226/20121226113757308.png)
3.修改copy_files.sh脚本。
打完,收工。