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