Cocos2d-X 移植 Android 平台详解

在 Windows 下使用 VS 开发 Win32 平台的游戏程序后,需要把它们移植到不同的平台上。在这里首先介绍 Android 平台的移植工作。

 

因为 Windows 和 手机等平台的 CPU 指令不同、架构不同,在 Windows 下编写的程序要想在手机上运行,首先要进行编译。在编译之前需要准备以下软件:

  1. Android NDK

  2. Android SDK

  3. Apache Ant

  4. Cocos2d-X

  5. JDK

  6. Python

 

由于之前安装过 Cocos2d-X、JDK、Python 了,下面只介绍剩下三个软件的下载及环境配置。

 

1.Android NDK下载地址及环境配置

 

Android NDK是一个工具集,可以让你使用C和c++等语言,用本地代码实现部分应用程序。对于某些类型的应用程序,这可以帮助您重用用这些语言编写的代码库。

 

下载地址https://developer.android.google.cn/ndk/downloads/

 

环境配置

1.下载后将压缩包解压到自定义路径(不能包含中文路径和空格)。

2.环境变量新建 NDK_ROOT 变量并将 NDK 解压路径复制到变量值。

3.找到变量 Path 将 %NDKROOT% 添加进去。

4.打开 cmd,输入 ndk-build 显示如图即配置成功。

 

 

2.Android SDK下载地址及环境配置

 

Android NDK是一个工具集,可以让你使用C和c++等语言,用本地代码实现部分应用程序。对于某些类型的应用程序,这可以帮助您重用用这些语言编写的代码库。

 

官网下载地址(需翻墙)https://developer.android.com/studio/index.html

无需翻墙下载:https://www.androiddevtools.cn/

 

找到 SDK Tools,下载 Windows 的 zip 格式即可。

 

环境配置

1.下载后将压缩包解压到自定义路径(不能包含中文路径),打开 SDK Manager.exe,选在指定版本 API 安装即可。

2.环境变量新建 ANDROID_HOME 变量并将 SDK 解压路径复制到变量值。

3.找到变量 Path 将 %ANDROID_HOME%tools 添加进去。

4.打开 cmd,输入 ndk-build 显示如图即配置成功。

 

 

3.Apache Ant 下载地址及环境配置

 

Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。

 

下载地址http://ant.apache.org/

 

环境配置

1.下载后将压缩包解压到自定义路径(不能包含中文路径和空格)。

2.环境变量新建 ANT_ROOT 变量并将 ANT 解压路径复制到变量值。

3.找到变量 Path 将 %ANT_ROOT% 添加进去。

4.打开 cmd,输入 ant -version 显示如图即配置成功。

 

 

4.设置环境变量

 

所有环境变量配置成功后,执行 Cocos2d-X 根目录的 setup.py 来确保全部环境配置无问题。

 

 

5.编译打包

 

项目编译:cocos compile -s <path to your project> -p <platform> -m <mode> -o <output directory>

示例:

cocos compile -s ~/MyCompany/MyGame -p ios -m release -o ~/MyCompany/MyGame/bin

cocos compile -s ~/MyCompany/MyGame -p android -m release -o ~/MyCompany/MyGame/bin

cocos compile -s c:\MyCompany\MyGame -p win32 -m release -o c:\MyCompany\MyGame\bin

 

项目运行:cocos run -s <path to your project> -p <platform>

示例:

cocos run -s ~/MyCompany/MyGame -p ios

cocos run -s ~/MyCompany/MyGame -p android

cocos run -s c:\MyCompany\MyGame -p win32

 

注:如果已经在项目目录了,-s 和 -o 参数不是必须的,可以直接省略。

 

 

6.遇到的问题

 

1.打包失败,提示 Error:undefined reference to 'LoadingScene::createScene();

原因:没有在 ..\my2048\proj.android\app\jni\Android.mk 文件中添加自定义类。

 

2.安装 APK 时解析失败,提示 Error:Activity class {test/org.cocos2dx.cpp.AppActivity} does not exist.

原因:Cocos2d-X 安装到 C 盘下载录下,编译时对该文件没有访问权限,换到 D 盘解决。

 

3.安装 APK 时解析失败,提示 Error:android.content.pm.PackageParser$PackageParserException: Invalid manifest package: must have at least one '.' separator.

原因:APK 包名必须包含‘.’, 采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名lwz(为个人或公司名称,可以简写),三级包名guidecity(根据应用进行命名),四级包名ui或utils等(模块名或层级名),根据实际情况也是可以用五级包名,六级包名。

 


我是「Super于」,立志做一个每天都有正反馈的人!欢迎大家关注我的公众号「游戏开发小白变怪兽」,一起进步!

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值