从0到1实现打包项目资源及SDK接入全过程
前言
hello大家好~,经常有小伙伴在群里提到两个问题:一个是,除了官方文档上的demo,有没有其他略微大型一点的练手Demo可以提供下?第二个是,接SDK难度大么,老是接不成功怎么办?
别急,今天我们会详细教大家 如何在网上找到项目资源进行打包 ,然后再 接入PocoSDK的全过程 。
1.想找demo练手,选择什么引擎的项目比较合适
首先要明确给大家的是,如果是基于Airtest框架进行自动化工作,不管是什么引擎,我们都可以进行自动化的开发工作,引擎的不同并不会影响到我们使用基于图像识别的自动化框架。
但如果是基于UI控件搜索的Poco框架,不管是Untiy还是Cocos的项目,都需要接入PocoSDK后才能进行自动化工作。另外在IDE的poco辅助窗下,针对不同的引擎项目,我们需要在辅助窗内选择对应的引擎版本来帮助我们插入poco初始化的相关语句。
综上,只要是框架支持的引擎项目,我们都是可以拿来练手的~
2.在哪里找适合自己练手的项目资源
如果您是想进行 Android或者IOS原生App 测试的话,任意找一个项目就可以,因为在原生项目上,是直接支持airtest以及Poco的,不需要接入SDK。
如果您是想获取Unity或者其他引擎适合自己练手的项目资源,以Untiy为例,我们可以进入 Unity官方商店 内,选择上方页签内的资源按钮,选择2D/3D,在其中找到适合自己练手的项目即可。
当然 cocos引擎商店 也存在很多优质的官方Demo,例如21点等等,这些Demo同样与Unity商城的官方Demo一样,只需要下载并且pull到本地的引擎内即可。
Unity官方商城传送门:https://assetstore.unity.com/ Cocos官方商城传送门:http://store.cocos.com/#/
3.如何打包选好的项目资源
这个问题在我们群内好多小伙伴都提出过~今天我们以Cocos creator中的21点项目为例,看看实现其打包功能的全过程。
打开我们的Cocos creator引擎,在引擎上方页签内依次选择,拓展-->拓展商店,在弹出的Web界面内选择21点官方范例,并且点击下载,具体操作见下图:
下载完毕后,我们点击界面右上角的下载列表,点击复制到文件夹,再找到本地任意的文件夹进行储存。
然后重启Cocos引擎,打开我们刚才已经储存的项目路径,打开项目即可。当我们已经看到这个界面的时候,代表我们打包的第一步已经成功啦~
接下来我们需要 布置Cocos引擎所需要的打包环境 ,而我们的打包环境需要在本地部署AndroidSDK、JDK、NDK,以及ant。
① AndroidSDK传送门:https://www.androiddevtools.cn/
② JDK传送门:http://www.oracle.com/technetwork/Java/javase/downloads/index.html
③ NDK传送门:https://pan.baidu.com/s/1AzzHcWhJUbqQrN_7AMR1nA
④ ant传送门: http://ant.apache.org/bindownload.cgi
以上所需要部署的环境网上教程很广泛、在这里不进行一一阐述。待所有环境部署完毕之后,点击Cocos creator引擎上方的菜单栏,依次选择 文件-->设置-->原生开发环境 ,将NDK和AndroidSDK路径配置为自己的本地路径之后,点击保存,关闭窗口。
再次返回至Cocos creator引擎主界面中,点击顶部菜单栏的项目,再点击构建发布,将会得到以下界面:
各位小伙伴看到此界面应该会很懵圈吧没事的,小编会为大家讲解构建发布界面中各个名词的含义,以及使用场景,小编没提到的部分都是跟随默认不需要进行改变的。
① 游戏名称 :生成的apk 名字
② 发布路径 :生成的工程路径
③ 发布平台 :生成的平台,这里我们选择Android就可以、
④ 包名:输入合法的包名,或者选择默认的模板包名
⑤ Target API Level : 安卓版本的高度
⑥ APP ABI-->armeabi-v7a,它指的是是第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它。
⑦ APP ABI-->arm64-v8a,它指的是第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
⑧ APP ABI-->x86,可以直接理解为打出来的项目工程可以直接在安卓模拟器上使用。这里根据自身设备情况勾选适合自己的选项即可。
⑨ 设备方向 :四个选项分别对应的是出包之后场景对应的方向,上下左右、选择适合自己项目的方向,勾选上即可。
准备完毕后,点击构建,在构建成功的情况下,点击编译,编译完毕后就会在发布路径产生APK包,这个包就是供我们测试用的Android包。
注:如果编译产生报错,并且报错原因是找不到Android-X,X为对应的Androld版本,我们只需要将构建发布内切换至对应的安卓版本即可,如果在打包过程中遇到其他疑难杂症可以进入我们的官方群~群内有专业人士为各位小伙伴进行解答。
4.成功打包,但在poco辅助窗无法刷出UI树
注意注意(敲黑板!!!),前面我们曾经说过,安卓原生APP是可以不借助PocoSDK直接可以刷新出UI树,但是我们的游戏因为是用引擎开发,所以必须要接入PocoSDK才可以正常刷新出项目的UI树。这里我们就讲一下21点这个项目如何接入PocoSDK,各位小伙伴认真听哦~
首先我们来看一下PocoSDK官方文档说明,说明地址:https://mp.weixin.qq.com/s/8FI2Y8bHHP4U9KQE_S9Y3w,看到说明后,我们就知道要做以下几步,才可以实现SDK的接入。
① Github上pull下我们的PockSDK
② 复制SDK到指定的项目工程下
③ 编辑Cocos Js引擎的配置文件
④ 添加脚本-->挂载一个永远不会消失的节点上
前三步实现的难度都比较小,很多小伙伴都卡在了第四步上,小编在群里见过最多的问题就是,啊 这个添加脚本是手动添加吗?永不消失的节点是什么呀?今日小编就重点给大家讲解一下这两个问题。
添加脚本是手动添加吗?
添加脚本是需要手动添加,添加的项目路径见下图:
脚本内容需要更改为:
在脚本内容更改完毕后,点击保存。
永不消失的节点是什么呀?怎么添加节点啊?
这里大家需要明白节点的概念,在Cocos中,节点是一个展示和组织的概念,它的实体可能是不同的类型,对于不同类型的实体,可能产生不同的事件,例如给button赋予一个点击事件,给input赋予一个输入事件等等。
每一个场景内部的节点可能都不同,在21点游戏中,从初始的排行榜界面进入到游戏界面,因为游戏场景的改变,整个UI树都需要销毁重建,这些被销毁重建的UI节点,就不是我们所认为的永不消失的UI节点。
在讲完非永不消失的UI节点后,我们讲一下永不消失的UI节点。永不消失的UI节点,即在你切换任意场景时,此节点都会常驻,并且永不销毁。这种永不消失的节点可大致分为两种,一种是强制赋予一个永不消失的属性;另一种是常驻内存的根节点/特殊节点,例如主相机节点。
那么我们知道了什么是永不消失的节点后,如何进行节点的挂载?
这里小编个人建议是挂载至常驻内存的根节点,也就是主相机节点。我们只需要打开我们的Cocos引擎,找到我们21点项目中的主相机节点,点击该节点,然后再点击节点右侧的添加组件按钮,之后再添加我们手动编写的脚本即可,如下图:
在添加完毕后,再次进行打包(即再次构建发布)。打包完毕后,我们就可以将已经打包的最新包体装入手机中,在IDE的设备连接窗口中连接该手机,并在poco辅助窗内选择Cocos-js就可以看到我们21点项目的UI树啦~
以上,就是打包项目和接入SDK的全过程啦~
本文作者:雷立坚,游戏行业一线自动化测试工程师,Airtest框架外部大使,拥有丰富的测试理论知识与实践知识,曾任职搜狐畅游,腾讯等一线大厂,现就职北京某大厂自动化测试工程师。
在AirtestProject公众号回复关键词 “21点” ,即可获取文中接入了PocoSDK的21点项目包,并与测试大佬一对一交流打包和接入SDK过程中的其它问题~
Airtest官网:http://airtest.netease.com/
Airtest教程官网:https://airtest.doc.io.netease.com/
搭建企业私有云服务:https://airlab.163.com/b2b