Android App 技能在DuerOS的調(diào)試方法
【引子】DBP(DuerOS Bot Platform)一直致力于構(gòu)建健康高效的DuerOS生態(tài)系統(tǒng),調(diào)試是開發(fā)者在開發(fā)DuerOS技能中不可或缺的重要環(huán)節(jié),DBP如何進(jìn)一步提升DuerOS 安卓App 技能的調(diào)試效率呢?
溫故知新,我們先回顧一下DuerOS的技能分類。根據(jù)不同的視角可以對DuerOS 目前支持的技能類型進(jìn)行不同的分類,例如,從用戶與技能的語音交互方式來看, 可以將技能分為這四種技能類型:
L1技能:只支持語音的打開和關(guān)閉
L2技能:在技能內(nèi)支持有限的語音交互
L3技能:在技能內(nèi)支持豐富的語音交互
L4技能:支持跨越技能的豐富語音交互
L1 與L2技能的區(qū)別在于是否有技能內(nèi)的語音交互,L2與L3技能的區(qū)別在于技能內(nèi)的語音交互是否豐富,L3與L4 技能的區(qū)別在于是否有技能的喚醒邊界。
從技能的實現(xiàn)形態(tài)來看,可以簡單地分為兩種技能類型,一種是云技能,另一種是端技能。云技能和端技能的主要區(qū)別在于是否需要在智能語音設(shè)備上安裝技能的客戶端,需要安裝或提供客戶端軟件的技能就是端技能,否則可以認(rèn)為是云技能Android App 技能可以認(rèn)為是典型的端技能。那么,如何將一款A(yù)ndroid 的App 移植成為DuerOS的智能語音應(yīng)用呢?可以參考《一個安卓App,如何成為DuerOS 上的技能應(yīng)用呢?》一文, 文中介紹了App 技能的調(diào)試方法。
基于調(diào)試系統(tǒng)的APP技能調(diào)試
由于APP 技能處于Preview feature 階段,所以只能在真機(jī)上技能技能調(diào)試。在初期,App的技能調(diào)試是基于調(diào)試系統(tǒng)的,即可需要在設(shè)備上安裝Debug Rom。
真機(jī)調(diào)試開發(fā)環(huán)境的安裝
創(chuàng)建好APP技能后,點擊【測試驗證】 → 點擊【真機(jī)測試】→ 點擊【新增設(shè)備SN】,添加自己的小度設(shè)備SN。
開發(fā)者在配置好設(shè)備SN之后,可以對真機(jī)設(shè)備說,“小度小度,打開技能開發(fā)助手”,在菜單中選擇【升級為開發(fā)版ROM】,根據(jù)語音提示進(jìn)行后續(xù)操作即可。
注意:如果以上操作都完成還是提示申請升級失敗,請確認(rèn)設(shè)備上的賬號和DBP平臺登錄的賬號是否一致,要確保使用相同的賬號。
真機(jī)調(diào)試密鑰的獲取和使用
在開發(fā)環(huán)境安裝成功之后, 需要下載開發(fā)環(huán)境的密鑰本地。
在真機(jī)調(diào)試的時候,密鑰的使用方法如下:
1)替換到設(shè)備本地的 ~/.android 目錄中
2)執(zhí)行命令重啟adb:
adb kill-server
adb start-server
安裝應(yīng)用,在Debug模式下調(diào)試
在真機(jī)的調(diào)試環(huán)境和調(diào)試密鑰都安裝成功后, 就可以使用ADB 命令安裝目標(biāo)APP了。
在保持開發(fā)者賬號和小度設(shè)備賬號一致的前提下,在DBP平臺開啟技能調(diào)試模式的按鈕,對設(shè)備說,“打開技能調(diào)試模式”。進(jìn)入到技能調(diào)試模式后, 開發(fā)者就可以使用語音交互來調(diào)試APP 技能了。
這個調(diào)試流程主要的一個缺點是安裝系統(tǒng)的Debug Rom較大,需要的下載時間較長。當(dāng)然,這取決于開發(fā)者當(dāng)前的網(wǎng)絡(luò)環(huán)境, 有時候要花費(fèi)幾十分鐘,影響了開發(fā)的效率。而且,在安裝完Debug Rom 后, 往往需要重啟設(shè)備,對開發(fā)調(diào)試同樣造成的不便。
于是,DBP 提供了新的App 技能調(diào)試方法。
基于調(diào)試模式賦能的App 技能調(diào)試方式
基于調(diào)試模式賦能的App 技能調(diào)試方式取消了Debug Rom 的下載, 通過將目標(biāo)設(shè)備的賦能ADB調(diào)試模式,即可在任何智能屏設(shè)備上調(diào)試App技能。當(dāng)我們在手機(jī)上調(diào)試Android App 的時候, 需要在手機(jī)的系統(tǒng)設(shè)置中開啟開發(fā)者模式?;诿荑€的App 技能調(diào)試模式與之類似, 只不過要需要在DBP 平臺進(jìn)行云端配合才能完成調(diào)試模式的開啟。
DBP 平臺的調(diào)試模式配置
在創(chuàng)建好APP技能后,在DuerOS開發(fā)者平臺,配置要使用adb調(diào)試的設(shè)備SN。進(jìn)入到App技能的控制臺,點擊【測試驗證】-->【真機(jī)調(diào)試】:
然后在右邊找到:AdbKey調(diào)試模式,點擊【新增設(shè)備SN】,在彈窗中添入小度設(shè)備的SN。在平臺配置好設(shè)備SN后,才可以在設(shè)備上使用【技能開發(fā)助手】開啟Adb調(diào)試模式。
開啟Adb調(diào)試模式
如果小度設(shè)備已經(jīng)完成了開發(fā)者賬戶的綁定,則對設(shè)備說,“小度小度,打開技能開發(fā)助手”,即可進(jìn)入到技能開發(fā)助手中了 ——
點擊【開啟adb調(diào)試模式】, 即完成了調(diào)試模式的賦能。
在點擊開啟Adb調(diào)試模式時,不要一直點擊,要等到頁面刷新成功。如果重復(fù)點擊的話,可能會被限制使用adb調(diào)試模式,大約要被禁用2個小時。
真機(jī)調(diào)試密鑰的獲取
成功開啟Adb調(diào)試模式后,在平臺添加設(shè)備SN處可以獲取到AdbKey,key的使用說明在下載的壓縮包內(nèi)。
只有在開啟ADB調(diào)試模式之后,才會顯示下載adbkey的按鈕,每個設(shè)備都會有一個獨立的ADB Key,下載時需要注意。
安裝應(yīng)用,在Debug 模式下進(jìn)行調(diào)試
在真機(jī)的調(diào)試環(huán)境和調(diào)試密鑰都安裝成功后, 就可以使用ADB 命令安裝目標(biāo)APP了。
在保持開發(fā)者賬號和小度設(shè)備賬號一致的前提下,在DBP平臺的技能控制臺開啟技能調(diào)試模式的按鈕,對設(shè)備說,“打開技能調(diào)試模式”。在進(jìn)入到技能調(diào)試模式后, 開發(fā)者就可以使用語音交互來調(diào)試APP 技能了。
在使用調(diào)試模式賦能的時候,需要注意以下問題:
ADB Key有效期1個月,如果過期,請重新在DuerOS的開發(fā)者平臺下載。
如果在平臺添加了設(shè)備SN,在設(shè)備上打開技能開發(fā)開發(fā)助手時,提示:請先到開發(fā)者平臺,真機(jī)調(diào)試頁面配置設(shè)備序列號后,再來使用該技能。這種情況是因為您在平臺登錄的賬號和設(shè)備上登錄的賬號不一致導(dǎo)致,使用設(shè)備上登錄和平臺相同的賬號即可。
ADB調(diào)試模式是與賬號和設(shè)備強(qiáng)綁定的,開啟了ADB 調(diào)試模式的設(shè)備,如果更換了其他賬號登錄,ADB調(diào)試模式會被關(guān)閉,而且,登錄原來的賬號后也需要重新開啟。
在Windows操作系統(tǒng)下,如果不能識別到設(shè)備,請檢查設(shè)備usb驅(qū)動是否安裝成功。
結(jié)束語
目前,ADB調(diào)試模式賦能的方式已經(jīng)正式上線了,原有基于調(diào)試系統(tǒng)(debug rom)的方式將不再露出,開發(fā)者只需要將小度設(shè)備的端版本升級到sp45及以上版本即可。然而,這并不意味著基于調(diào)試系統(tǒng)的方式不可用了,因為對于一些深度合作的App,例如涉及到Android Framwork層的系統(tǒng)配合,基于調(diào)試系統(tǒng)(debug rom)的方式仍然是需要的, 遇到這樣的情形, 需要開發(fā)者發(fā)郵件到dbp-service@baidu.com, DBP 平臺的運(yùn)營人員,經(jīng)過確認(rèn)后,會向開發(fā)者定向推送調(diào)試系統(tǒng)的。
簡單地說,DBP 平臺目前已經(jīng)支持了兩種App技能的調(diào)試方式:調(diào)試系統(tǒng)和調(diào)試模式賦能。調(diào)試模式賦能在1~2分鐘左右即可讓開發(fā)進(jìn)入到技能調(diào)試狀態(tài),較大地提升了開發(fā)者的開發(fā)效率。
或許, 幾十分鐘或者十幾分鐘可能顯得微不足道,但是,DBP 一直在努力,在努力為DuerOS的開發(fā)者們提供更好更高效的技能開發(fā)環(huán)境。