欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

程序员文章站 2022-03-26 10:10:01
目录1. 环境配置Android Studio 4.1.12.运行工程1. 环境配置Android Studio 4.1.1链接:https://pan.baidu.com/s/1eBfU-ANu4G9dKhjTQNbGNw 提取码:wiwv傻瓜安装,很简单2.运行工程...

目录

1、环境配置

1.1、Android Studio 4.1.1

链接:https://pan.baidu.com/s/1eBfU-ANu4G9dKhjTQNbGNw
提取码:wiwv
傻瓜安装,很简单
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

1.2、配置环境

1.2.1、打开SDK Manager

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

1.2.2、Android SDK Platform

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

1.2.3、Android SDK Platform-Tools

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

1.2.4、Android SDK Tools

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

monitor.bat

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

双击报错

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

解决办法

找到Android Studio 4.1.1的安装路径
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
复制这个jre文件夹
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
拷贝到/tools/lib 目录下
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
再次双击monitor.bat
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
发送桌面快捷方式,方便打开
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

1.2.5、NDK

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

1.2.6、JDK

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

1.2.7、Python2.7

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

1.3、添加系统环境环境

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

2、运行demo工程,测试环境

2.1、导入Cocos2d-x-4.0自带的测试工程

Demo程序:cocos2d-x-4.0\tests\cpp-tests
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

2.1.1、出现警告

using different jdk locations on different processes might cause gradle to spawn multiple daemons
在不同的进程上使用不同的 jdk 位置可能会导致 gradle 产生多个守护进程
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
很明显,我系统环境变量配置的jdk是jdk-13.0.2,不是Android Studio自带的jar

警告解决方法

保证用于编译项目的jdk和环境变量的jdk路径一致

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

方法一:修改JDK location

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

方法一:修改环境变量JAVA_HOME(成功)

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

改完重启,警告消失

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

2.1.1、出现错误

A problem occurred configuring project ‘:CppTests’.> java.lang.NullPointerException (no error message)

错误解决方法

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
打开日志文件
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
找到第一次出现error的地方

ndk版本太高有问题

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

下载ndk 1.6版本

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
全选复制
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

清空ndk-bundle文件夹,再覆盖到ndk-bundle

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

修改环境变量

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

改完重启,错误消失

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

2.1.2、点击Rebuild Project

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

出现ndk报错

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
Could not find method ndkVersion() for arguments [16.1.4479499] on object of type com.android.build.gradle.AppExtension.

解决方法:手动增加ndk.dir

删除这一行
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
然后File->Close Project,然后再打开这个工程

出现CMake报错

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
CMake Error: CMake was unable to find a build program corresponding to “Ninja”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.

解决方法:把Android Studio自带的CMake添加环境变量

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

重启as,再次点击Rebuild Project

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
编译差不多10几分钟,成功了哈哈

成功编译

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

2.2、连接安卓机调试

2.2.1、以华为Mate 30 5G 为例

未连接手机或者未开启开发者模式

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

打开开发者模式

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

启动USE调试,插线每次都要重新开启

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

连接usb,选择传输文件

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

连接手机成功

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

2.2.2、点击“Run CppTests”

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

手机运行效果

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3、导入之前创建的helloworld工程

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.1、编译成功

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.2、使用AVD Manager调试

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.2.1、选择常见的1280x720尺寸

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.2.2、选择推荐

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.3.3、报错

Cannot build for ABI: x86 supported ABIs are: armeabi-v7a
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.3.4、解决方法

选等于或高于之前下载的API level就可以了,

这次选择armeabi-v7a

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

报错1

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
Installation failed due to: ‘‘pm install-create -r -t -S 51431849’ returns error ‘Unknown failure: Error: Could not access the Package Manager. Is the system running?’’

解决1

原来是启动有点慢尴尬哈哈
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

报错2

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
Installation failed due to: ‘Failed to install-write all apks’

解决2

还是用真机调试吧,就算你用虚拟机调试成功,还得用真机验证的,弃坑

3.3、使用Android Studio进行打包

3.3.1、Generate Signed Bundle/APK

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.3.1.1、 Android App Bundle

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
后面接收推荐就好,再重新打开
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

生成项目密钥pepk文件

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.3.1.2、 Apk

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

生签名证书文件jks

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.3.2、Build Bundle(s)/APK(s)

不带签名证书jks文件

3.3.3、Analyze APK

专门分析apk的神器

3.3.3.1、点击Android studio菜单栏—>build—>Analyze apk

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.3.3.2、本项目已有apk,双击

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.3.3.3、将apk拖入Android studio

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)
实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

3.4、Apk思维导图

实操基于cocos2d-x游戏项目(Windows上Android Studio 4.1.1打包apk)

本文地址:https://blog.csdn.net/xiaoduangg/article/details/110245291