前言
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