cocos2d-x3.2 在Windows下打包Android平台APK

简介:

一、下载Android环境

搭建Android环境需要用到Android SDK、NDK、Ant和JDK;

下载Android SDK 

下载Android NDk 

下载Android JDK 

下载Ant 

 

其中JDK是需要安装的,其他的都直接解压即可。将SDK NDK 和ANT解压缩到同一个文件夹中,我解压后文件都放在了e:\Android文件夹下

SDK如果下载下来的adt文件那么把里面的SDK文件夹考出来,修改后

二、配置JDK

在JDK安装完毕之后,需要手动进行环境变量的配置

1、系统变量里新建JAVA_HOME变量,变量值为:C:\Program Files\Java\jdk1.8.0_05(根据自己的安装路径填写)

2、新建系统变量classpath变量,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意前面的“.”不要忘记了)

3、在系统变量path变量(已存在不用新建)添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意变量值之间用“;”隔开)

 

环境变量的解析:

JAVA_HOME:jdk的安装路径

classpath:java加载类路径,只有类在classpath中java命令才能识别,在路径前加了个"."表示当前路径。

path:系统在任何路径下都可以识别java,javac命令。

 

在配置完成之后,我们打开cmd命令窗口,输入java或javac 回车,如果不是打印“java不是内部或外部命令”那就说明配置成功了。

 

三、配置Ant环境变量

把ant的存放路径加入系统Path变量。

四、配置cocos2dx 3.1 Android 环境关联

以上已做好准备工作,打开cocos2dx目录下的 setup.py。

输入ndk的路径。

输入sdk路径

最后输入的是 ant的路径。

 

OK,三个路径都已经配置完毕:

五、打包Apk

(注意:在打包apk之前需要修改proj.android/jni文件夹下的Android.mk文件 添加自己新增的CPP文件,这里的新增指的是非cocos2dx生成的项目文件(自己新增的文件)。一定要把自己新增的文件或文件夹包含进apk。)

首先我们拿官方的 cpp-tests项目来试手吧!按住shift键+鼠标右键 选择在此处打开命令窗口。

然后就可以使用 cocos compile -p android –-ap 20方式编译APK文件了(--ap 20是指定android平台,我用的是20,也有19等其他的,根据跟人下载的而定)

然后运行:cocos run -p android --ap 20

当出现:“ -waiting for device -    error:  ”的时候按Ctrl+C终止就可以了。

漫长的等待吧,当然这里要提醒一点3.2版本用的是 android-20,如果E:\Android\sdk\platforms目录下没有android-20 请创建一个空的。

等待完毕之后 看下这个文件夹下的 apk吧!可以安装到手机上试一下了。

 

如果需要把项目在真机上弄成竖屏,只需在proj.android文件夹下的AndroidManifest.xml中改一改, android:screenOrientation="landscape"(横屏),android:screenOrientation="portrait"(竖屏),它默认为横屏

 

六、异常处理

1、 Android platform not specified, searching a default one...

Can't find right android-platform for project :

"F:\cocos2d-x-3.1.1\tests\cpp-tests\proj.android".

The android-platform should be equal/larger than 20

如果你遇到这个问题,那么就要在

 

下创建一个空的android-20文件夹,这个问题坑了我很久!同时要查看命令是否是 –ap 20(双-)。

 

检查\proj.android目录下的project.properties是否是android-20

 

 

2、make.exe: *** No rule to make target `/home/tubuntu/game/android-ndk-r9d/sources/android/cpufeatures/cpu-features.c', needed by `obj/local/armeabi/objs/cpufeatures/cpu-features.o'.  Stop. 

解决办法:从后缀名来看,这个肯定是编译中间文件(可以删除)。而Make 的No rule to make target则一般说明是已经存在了,不用再编译。所以我们进入E:\cocos2d-x-3.2\Projects\HelloCpp111\proj.android\obj\local\armeabi把objs-debug文件夹下面的文件(包括文件夹)全删除。

 

3、make.exe:***obj/local/libcoccos2dcpp.so……

解决办法:产生这个原因的是没有在Android.mk 文件中添加自己的文件,进入E:\cocos2d-x-3.2\Projects\HelloCpp111\proj.android\jni 文件夹下打开Android.mk文件,添加自己的文件,如下图:

 

4、  编译时,提示找不到gcc工具链 (Couldn't find the gcc toolchain)。

这个问题也烦了我很久!去检查下ndk的配置路径!NDK_ROOT是否正确!然后3.1版本需要的NDK是最新的版本,去安卓网站下一个最新的版本r9d吧!

 

5、  如果遇到android api问题

找到运行进行更新,看缺哪个api就更新哪个,不过这个更新比较慢,原因google被禁了

 

6、出现 build.xml:932 build.xml:950 错误 

        这是由于你的资源文件中出现了中文命名的文件,AAPT是没有办法识别的, IOS是可以识别的,但是AAPT不行,所以最好不要使用中文命名任何文件或者文件夹。

目录
相关文章
|
7天前
|
存储 API Android开发
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
44 4
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
|
2月前
|
监控 Android开发 数据安全/隐私保护
批量发送短信的平台,安卓群发短信工具插件脚本,批量群发短信软件【autojs版】
这个Auto.js脚本实现了完整的批量短信发送功能,包含联系人管理、短信内容编辑、发送状态监控等功能
|
7月前
|
前端开发 Java 编译器
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
202 36
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
|
6月前
|
存储 编解码 监控
Android平台GB28181执法记录仪技术方案与实现
本文介绍了大牛直播SDK的SmartGBD在执法记录仪场景中的应用。GB28181协议作为视频监控联网的国家标准,为设备互联互通提供规范。SmartGBD专为Android平台设计,支持音视频采集、编码与传输,具备自适应算法和多功能扩展优势。文章分析了执法记录仪的需求,如实时音视频传输、设备管理及数据安全,并详细阐述了基于SmartGBD的技术实现方案,包括环境准备、SDK集成、设备注册、音视频处理及功能扩展等步骤。最后展望了SmartGBD在未来智慧物联领域的广阔应用前景。
245 13
|
6月前
|
存储 编解码 开发工具
Android平台毫秒级低延迟HTTP-FLV直播播放器技术探究与实现
本文详细探讨了在Android平台上实现HTTP-FLV播放器的过程。首先介绍了FLV格式的基础,包括文件头和标签结构。接着分析了HTTP-FLV传输原理,通过分块传输实现流畅播放。然后重点讲解了播放器的实现步骤,涵盖网络请求、数据解析、音视频解码与渲染,以及播放控制功能的设计。文章还讨论了性能优化和网络异常处理的方法,并总结了HTTP-FLV播放器的技术价值,尤其是在特定场景下的应用意义。
253 11
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
Android开发 开发者
Android Split APK介绍
【2月更文挑战第5天】
|
XML API Android开发
android S 上 安装apk出现android.os.FileUriExposedException
android S 上 安装apk出现android.os.FileUriExposedException
340 6
|
设计模式 缓存 Java
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
|
Android开发
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
732 0

热门文章

最新文章