cocos2dx 3.x android开发环境+HelloWorld

1. 准备工作

(1)Eclipse+ADT 下载地址:developer.android.com/intl/zh-cn/sdk/index.html

(2)ndk 下载地址: http://developer.android.com/tools/sdk/ndk/index.html

(3)ant 下载地址: http://ant.apache.org/  

(4)JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 

其中JDK需要安装,NDK和ant直接解压到一个目录之中。注:NDK和ant的文件目录不能有空格。

2. 配置环境变量

(1)进入cocos2dx的安装目录,运行setup.py,按照提示输入 NDK_ROOT、ANDROID_SDK_ROOT、ANT_ROOT 。



3. Eclipse导入项目

(1) 打开Eclipse,将HelloWorld的项目导入。

cocos2dx 3.x android开发环境+HelloWorld_第1张图片

cocos2dx 3.x android开发环境+HelloWorld_第2张图片

cocos2dx 3.x android开发环境+HelloWorld_第3张图片

导入项目后,提示“Cocos2dxActivity cannot be resolved to a type”错误。如何解决这种错误呢?

将项目中D:\androidCocos\test\cocos2d\cocos\platform\android\java\src的文件粘贴到项目的src。

不过问题来了,每次这么创建都要去copy实在是太麻烦了。修改模板类中的build_native.py。你可以在“cocos2d-x-3.2/templates/cpp-template-default/proj.android”下找到build_native.py进行修改。


def copy_resources(app_android_root):

    # remove app_android_root/assets if it exists
    assets_dir = os.path.join(app_android_root, "assets")
    if os.path.isdir(assets_dir):
        shutil.rmtree(assets_dir)

    # copy resources
    os.mkdir(assets_dir)
    resources_dir = os.path.join(app_android_root, "../Resources")
    if os.path.isdir(resources_dir):
        copy_files(resources_dir, assets_dir)

#--------copy cocos_lib_path start------------
def copy_src_files(src, dst):
     
    for item in os.listdir(src):
        path = os.path.join(src, item)
         
        if not item.startswith('.') and os.path.isfile(path):
            shutil.copy(path, dst)
        if os.path.isdir(path):
            new_dst = os.path.join(dst, item)
            if not os.path.exists(new_dst):
                os.mkdir(new_dst)
            copy_src_files(path, new_dst)
def copy_src(app_android_root,cocos_root):
   
    android_src_dir = os.path.join(app_android_root,"src")
     
    cocos_src_path = os.path.join(cocos_root, "cocos/platform/android/java/src")
     
    if not os.path.exists(android_src_dir) :
        os.mkdir(android_src_dir)
     
    if os.path.isdir(cocos_src_path):
        copy_src_files(cocos_src_path,android_src_dir)
#--------copy cocos_lib_path end-----------

def build(ndk_build_param,android_platform,build_mode):

    ndk_root = check_environment_variables()
    sdk_root = None
    select_toolchain_version()

    current_dir = os.path.dirname(os.path.realpath(__file__))
    cocos_root = os.path.join(current_dir, "../cocos2d")

    app_android_root = current_dir
    copy_resources(app_android_root)
    #-----------------add copy src ------------
    copy_src(app_android_root,cocos_root)

    if android_platform is not None:
				sdk_root = check_environment_variables_sdk()
				if android_platform.isdigit():
						android_platform = 'android-'+android_platform
				else:
						print 'please use vaild android platform'
						exit(1)
		



你可能感兴趣的:(cocos2dx 3.x android开发环境+HelloWorld)