最近研究了下这两个的组合,想必很多人也用过了。遇到了很多问题,不过其实自己稍微去研究下,就会发现,很容易就解决了。
废话不多说,下面开始说步骤:
1.下载quick3.5final+cocos ide1.2, 另外把cocos studio也下载了吧。
2.安装以上软件以后,打开cocos商店下载最新的cocos framework并安装,其它android ndk和sdk,java sdk没有的也自行下载解压就好,商店里都有。cocos framework里面带了python27和ant,一看便知。
都安装完以后,检查cocos ide设置,打开窗口-》首选项-》cocos
3.解压quick3.5final,找到templates\lua-template-default.settings里面的version.json,修改这个文件内容为如下:
{
“ideVersion”: “1.2.0”,
“templateVersion”: “2.0”,
“runtimeVersion”: “2.0”,
“engineVersion”: “cocos2d-x 3.5”
}
4.使用cocos2d console创建lua工程,这个文件在tools\cocos2d-console\bin\里面,叫cocos.bat(win平台)。不会创建的去网上搜教程,也可以dos下输入cocos -h看帮助文档。
注意:这一步创建的lua工程最好在某个盘的根目录,不然后面会出现编译路径太长导致编译失败的问题。
如:D:\Documents\Cocos2d\MyGame\frameworks\runtime-src\proj.android…/…/cocos2d-x/cocos/quick_libs/src/extra/luabinding/lua_cocos2dx_extension_nanovg_manual.cpp:385:1: fatal error: opening dependency file ./obj/local/armeabi/objs/extra_static/D_\Documents\Cocos2d\MyGame\frameworks\runtime-src\proj.android__/__/cocos2d-x/cocos/quick_libs/src/extra/luabinding/lua_cocos2dx_extension_nanovg_manual.o.d: No such file or directory
}
5.打开cocos ide1.2, 工程面板右键-》导入,选中导入cocos工程,找到你刚才创建的工程路径,导入。
6.编译,右键工程-》cocos工具-》为android打包apk(快捷栏也有这个按钮,自己找),如果第三步没有修改那个version文件,这一步是执行不了的,会出一个什么loop exception的问题,下面的步骤一看便知,不多说。这一步编译的时间会有点久,编译完就会打包好apk
7.6中打包好的apk可以在真机上测试,cocos ide还不清楚怎么运行apk。不过你可以构建一个win平台的模拟器用来调试。用cocos ide构建完模拟器需要将src和res文件夹手动拷贝到runtime/win32文件夹里,cocos ide不会自动拷贝,这是一个bug。当然你也可以直接用vs编译运行调试,教程自己查。
最后跟cocos项目组反应一个第4条中提到的路径过程导致编译失败的问题,希望能把路径弄的短一点,即使放到根目录,其实路径已经很长了,如果放到一个文件夹名字太长的文件夹里,编译就会失败,希望能够早日解决。
其实3.5相对于以前的版本好用了不少,而且cocos studio也比之前的好用多了。继续努力,开源的东西不容易!
后面有什么新的进展,我再更新这篇帖子。
续:
关于cocos ide1.2通过usb连接android真机调试代码
首先quick3.5编译出来的android模拟器版本是无法在真机上调试的,因为编译配置问题和文件缺失,可能是cocos项目组人手实在太不够了,没有做过这方面的测试,也可能是因为以后quick要合并到cocos家族里了吧。
下面将我自己的修改过程列举下来,希望对有用的人有所帮助。这种情况下,可以实现lua热更新,并且lua中的打印输出会显示在cocos ide的输出窗口中。
以下步骤都是在上面步骤都OK的情况下进行的。
1.首先拷贝CocosFramework\templates\cocos2d-x-3.5\lua-template-runtime\frameworks\runtime-src\Classes下所有文件替换quick-3.5\templates\lua-template-default\frameworks\runtime-src\Classes下面所有的文件。
2.打开quick-3.5\templates\lua-template-default\frameworks\runtime-src\Classes\AppDelegate.cpp文件,找到函数static int register_all_packages(),改为如下内容:
static int register_all_packages()
{
extern void package_quick_register();
package_quick_register();
return 0; //flag for packages manager
}
3.打开quick-3.5\templates\lua-template-default\frameworks\runtime-src\proj.android\jni\Android.mk
修改
LOCAL_SRC_FILES :=
…/…/Classes/AppDelegate.cpp
…/…/Classes/ide-support/SimpleConfigParser.cpp
hellolua/main.cpp
为
CocosFramework\templates\cocos2d-x-3.5\lua-template-runtime\frameworks\runtime-src\proj.android\jni\Android.mk中的
FILE_LIST := hellolua/main.cpp
FILE_LIST += (wildcard (LOCAL_PATH)/…/…/Classes/.cpp)
FILE_LIST += (wildcard (LOCAL_PATH)/…/…/Classes/ide-support/.cpp)
FILE_LIST += (wildcard (LOCAL_PATH)/…/…/Classes/ide-support/*.c)
LOCAL_SRC_FILES := (FILE_LIST:(LOCAL_PATH)/=)
4.右键工程-》cocos工具-》构建自定义模拟器, 弹出窗口,下一步-》构建android模拟器-》生成。最后构建成功。
5.打开android手机usb调试,确保手机连接到wifi,并且电脑也连接在相同的wifi下。 usb连接手机到电脑,手机会提示“已连接USB调试”。
6.右键工程-》运行方式(或调试方式)-》运行配置(或调试配置),弹出运行配置窗口,选中cocosluabinding-》你的工程,选择Android ADB调试,模拟器路径里面已经自动选择好你第4步构建好的模拟器,点击应用,然后点击运行(或调试),开始运行程序。
以上内容都是对比quick3.5和cocosframework的文件做出的修改,其实cocosframework应该比quick3.5的代码内容新,至少在工程创建和运行时调试方面。
有兴趣的同学可以自己对比弄一下window平台模拟器的工程文件。
以我的理解,cocos3.5这个版本,在ide中创建的cocosframework的lua工程和quick3.5创建的工程没太大区别,区别就在于一个是预先编译好的静态库,一个完全需要自己编译所有代码(对于想修改引擎源代码的同学有用)。

