[置顶] cocos2d-x 2.x版本之win32 window移植android 环境搭配 只用NDK 超级详细 android 环境搭配
欢迎转载:请保留原文出处 谢谢
第一步:android开发环境搭配
这里我只介绍myeclipse eclipse差不多。
myeclipse 9.0的help——myeclipse configuration center——software——browse software——addsite
其中打开configuration center有点慢 要耐心一下
如下图所示:
如果是把adt解压的话就选择add form Local Folder 如果不解压就用add form archive file
1、"Help"菜单下面的center命令:如图,打开WorkSpace Center页面
2、选择Software选项卡,如图:
3、点击“add site”,打开“Add Updates Site”对话框。添加ADT……
4、添加完ADT连接之后,点击“OK”,回到Software选项卡,可以看到ADT已经被添加进来,如图:
5、最重要一步:单独选中“Android DDMS”,点击“add site”上面的“+”号就可以把此插件添加到“My Software”列表,依次把需要添加的插件添加进去,如下:
6、最后我们会看到“Pending Changes”区域会显示changes,单击“apply”就可以了,网线慢的情况会很慢。
这里会有电慢 请耐心等待
7、最好重启MyEclipse就可以安装成功 了,如图:
8、重启后会提示你安装android sdk manager 如果下有sdk manager 就指定sdk manager吧 不然你点击就会帮你下sdk manager
9、设置Android sdk manager打开Myeclipse后,winodw->preferences->Android->SDK Location位置选择你解压的Android SDK根目录
10、测试开发环境是否搭建成功
File->New->Project->Android->Android Project
第二步 如何从cocos2d-x 源码移植到android上
STEP 1:配置android工程生成器
用edit plus之类编辑器打开 cocos2d-x目录下的 create-android-project.bat,并进行修改。
注意:上述文件中的几个路径一定要与你自己的路径对应起来!
STEP 2:创建android工程
这一步是通过运行cocos2d-x目录下的create-android-project.bat实现的(在WINDOWS资源管理器中右键单击此文件,然后选择以管理员身份运行即可)。参考其它的资料,我使用管理员身份运行此文件的(一般运行情况还没有试验)。
STEP 3:导入代码和有关资源
现在,把你win32项目里的Classes拷贝到当前Classes下。然后把你win32项目里的Resources拷贝到当前Resources下。
提示:2.0.2版本与1.x版本中管理资源的方式发生了较大变化,请注意这一点。当然,在高版本中,管理更为方便和科学了。
提示2:直接使用覆盖方式复制粘贴即可另外还要想着把最初系统自动生成的几个可能不再有用的文件删除。
STEP 4:编辑jni文件夹下的android.mk等文件
这一步比较复杂,要求你最好深入理解application.mk和android.mk这两个文件在NDK编程中的位置及详细作用。在此不具体展开介绍了。
因为,我的例子是一个由系统向导自动生成的HELLO WORLD级的程序,所以,一路走下来非常顺利。
我的android.mk文件修改为如下形式:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
#LOCAL_MODULE_FILENAME := libgame
LOCAL_SRC_FILES := hellocpp/main.cpp \
http://www.cnblogs.com/Classes/AppDelegate.cpp \
http://www.cnblogs.com/Classes/HelloWorldScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/http://www.cnblogs.com/Classes \
$(LOCAL_PATH)/http://www.cnblogs.com/../cocos2dx \
$(LOCAL_PATH)/http://www.cnblogs.com/../cocos2dx/platform. \
$(LOCAL_PATH)/http://www.cnblogs.com/../cocos2dx/include \
$(LOCAL_PATH)/http://www.cnblogs.com/../cocosDension/include
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)
我的更改有:
1,注释掉了LOCAL_MODULE_FILENAME := libgame这一句。
2,把共享库名字更改为game_shared,对应于eee21.java文件中的下面一句必须作相应的修改:
System.loadLibrary("game_shared");
3,根据我的ANDROID工程所在位置修改了头文件引用部分。
LOCAL_C_INCLUDES := $(LOCAL_PATH)/http://www.cnblogs.com/Classes \
$(LOCAL_PATH)/http://www.cnblogs.com/../cocos2dx \
$(LOCAL_PATH)/http://www.cnblogs.com/../cocos2dx/platform. \
$(LOCAL_PATH)/http://www.cnblogs.com/../cocos2dx/include \
$(LOCAL_PATH)/http://www.cnblogs.com/../cocosDension/include
其中, $(LOCAL_PATH)是jni文件夹,于是相对于这一级文件夹,你的cocos2d-x系统的相应的头文件在哪一级文件夹下要明明白白才行。
STEP 5:使用ECLIPSE再编译并打包到真机测试
使用新建android项目下的Create project from existing source:
File -> New -> Project...在随后的"New Project"对话框中选择Android->Android project from existing code,如下所示:
随后出现导入工程对话框,类似(来自于另一个实例)下图所示:
STEP 六:使用ECLIPSE再编译并打包到真机测试
其中过程可能出现几个个问题
第一个是
org.cocos2dx.lib.Cocos2dxActivity找不到问题
解决方法:
复制 ***\cocos2dx\platform\android\java\src\ (***为cocos2d-x更目录) 到你android项目中的src文件夹中
这样就又有一个麻烦问题,是不是每次创建都要复制呢,答案当然是否定的,来看一劳永逸的方法,定位 (cocos2d-x根目录)\template\android\,用文本文件打开 copy_files.sh,找到 copy_src_and_jni() 函数,添加入下代码
cp -rf $COCOSJAVALIB_ROOT/src $APP_DIR/proj.android
第二问题个是还需要配置项目的构建器,不然编译会崩溃
配置NDK编译环境
右键SimpleGmae项目,选择Properties-》Builders-》New-》Program-》OK
然后进行如下设置:
Location:选择ndk安装目录下的ndk-build.cmd 命令
Working Directory:选择SimpleGame
选择Refresh,配置如下:
配置Build Options,如下图所示
修改新建的Builder的名字为Ndk_Builder,设置完成后,点击ok,然后把点击up按钮把Ndk_Builder调到最上面。如图:
第三个问题是最好不要用模拟器调试,用模拟器的话开启模拟器GPU测试,而且要4.0以上版本
最好是真机吧
回帖是美德谢谢 羊城|小羊驼 部分是copy人家的帖子 +自己整理