專利名稱:移動設備應用程序開發(fā)調(diào)試的方法及裝置的制作方法
技術領域:
本發(fā)明涉及移動設備技術領域,尤其涉及一種移動設備應用程序開發(fā)調(diào)試的方法及裝置。
背景技術:
目前,在移動設備應用程序的開發(fā)調(diào)試過程中,主要有兩種方法來進行(I)模擬器開發(fā)調(diào)試,利用集成開發(fā)環(huán)境(IDE, Integrated DevelopmentEnvironment)中集成的模擬器和調(diào)試器進行應用程序的開發(fā)調(diào)試,應用程序是部署、運行在模擬器上。
(2)真機開發(fā)調(diào)試,這種方式是移動設備通過USB等方式連接到開發(fā)機上,IDE識別到該移動設備,并將應用程序部署到移動設備上,在移動設備上進行調(diào)試。在真機設備中開發(fā)調(diào)試時,需要將移動設備接入到開發(fā)機上,在有多個移動設備接入時,只能選擇一個移動設備。在現(xiàn)有技術方案中,提供的是一種可以遠程訪問手機進行應用程序測試的系統(tǒng),用戶通過網(wǎng)絡可以遠程訪問移動設備,遙控操作移動設備的按鈕、瀏覽液晶顯示器、聆聽設備聲音和使用揚聲器等,并能查看應用程序運行時的故障記錄。但現(xiàn)有技術的方案只提供應用程序開發(fā)完成后的應用級測試,只能記錄應用程序運行中出現(xiàn)的問題,不能進行源代碼級的跟蹤調(diào)試,一旦測試到問題,還需要返回本地開發(fā)環(huán)境中再進行調(diào)測,從而影響了應用程序開發(fā)調(diào)測的效率。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種移動設備應用程序開發(fā)調(diào)試的方法及裝置,能夠?qū)σ苿釉O備應用程序進行源代碼級的跟蹤調(diào)試,提高了應用程序開發(fā)調(diào)測的效率。本發(fā)明一方面供了一種移動設備應用程序開發(fā)調(diào)試的方法,包括根據(jù)開發(fā)機所配置的調(diào)試設備屬性,向所述開發(fā)機提供符合該調(diào)試設備屬性要求的移動設備列表;根據(jù)開發(fā)機發(fā)起的設備連接請求,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備之間的連接;轉(zhuǎn)發(fā)開發(fā)機發(fā)起的應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼;轉(zhuǎn)發(fā)開發(fā)機在應用程序開發(fā)調(diào)試過程中發(fā)出的調(diào)試命令給所述移動設備,并轉(zhuǎn)發(fā)所述移動設備返回的調(diào)試命令反饋信息給所述開發(fā)機。進一步的,根據(jù)開發(fā)機發(fā)起的設備連接請求,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備之間的連接具體包括根據(jù)開發(fā)機發(fā)起的設備連接請求,真機測試服務器與開發(fā)機所選擇的移動設備建立連接,通過建立的連接接收所述移動設備返回的連接響應消息;將所述連接響應消息轉(zhuǎn)發(fā)給所述開發(fā)機,建立所述開發(fā)機與所述移動設備之間的連接。進一步的,上述方法還包括真機測試服務器在調(diào)試信息轉(zhuǎn)發(fā)表中添加轉(zhuǎn)發(fā)路由信息,建立所述開發(fā)機與所述移動設備的對應關系,并設置所述移動設備的資源狀態(tài)為調(diào)試狀態(tài)。進一步的,調(diào)試命令至少包括以下命令之一設置斷點、查看斷點、單步執(zhí)行、查看變量和查看內(nèi)存。進一步的,調(diào)試設備屬性至少包括以下一項設備操作系統(tǒng)版本信息、設備型號信
肩、O本發(fā)面另一方面提供了一種移動設備應用程序開發(fā)調(diào)試的方法,包括向真機測試服務器發(fā)送獲取設備列表請求,所述獲取設備列表請求中攜帶調(diào)試設備屬性,并在返回的符合該調(diào)試設備屬性要求的移動設備列表中選擇待調(diào)試的移動設備;通過所述真機測·試服務器向所選擇的移動設備發(fā)送設備連接請求,以建立與所述移動設備之間的連接;通過所述真機測試服務器向所述移動設備發(fā)送應用程序代碼部署請求,以將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼;將集成開發(fā)環(huán)境IDE中的調(diào)試器發(fā)出的調(diào)試命令通過所述真機測試服務器轉(zhuǎn)發(fā)給所述移動設備;接收所述真機測試服務器轉(zhuǎn)發(fā)回的調(diào)試命令反饋信息,并通過所述IDE中的調(diào)試器解析、顯示該調(diào)試命令反饋信息。進一步的,若所述調(diào)試命令為設置斷點,則所述通過IDE中的調(diào)試器解析、顯示該調(diào)試命令反饋信息具體包括根據(jù)收到的調(diào)試命令反饋信息,通過IDE中的調(diào)試器將其關聯(lián)到所述應用程序源代碼中的斷點處,并顯示該調(diào)試命令反饋信息。進一步的,所述建立與所述移動設備之間的連接之后,還包括通過顯示窗顯示所述移動設備的界面并操作該顯示窗上的移動設備界面,發(fā)送操作指令給所述移動設備,接收顯示所述移動設備執(zhí)行該操作指令后的界面。本發(fā)明再一方面供了一種移動設備應用程序開發(fā)調(diào)試的裝置,包括訪問調(diào)度單元,用于根據(jù)開發(fā)機所配置的調(diào)試設備屬性,向所述開發(fā)機提供符合該調(diào)試設備屬性要求的移動設備列表;連接管理單元,用于根據(jù)開發(fā)機發(fā)起的設備連接請求,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備之間的連接;應用程序部署單元,用于轉(zhuǎn)發(fā)所述開發(fā)機發(fā)起的應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼;調(diào)試信息代理單元,用于轉(zhuǎn)發(fā)所述開發(fā)機在應用程序開發(fā)調(diào)試過程中發(fā)出的調(diào)試命令給所述移動設備,并轉(zhuǎn)發(fā)所述移動設備返回的調(diào)試命令反饋信息給所述開發(fā)機。進一步的,調(diào)試信息設置單元,用于在調(diào)試信息轉(zhuǎn)發(fā)表中添加轉(zhuǎn)發(fā)路由信息,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備的對應關系,并設置所述移動設備的資源狀態(tài)為調(diào)試狀態(tài)。本發(fā)明又一方面提供了移動設備應用程序開發(fā)調(diào)試的開發(fā)機,包括調(diào)試設備獲取單元,用于向真機測試服務器發(fā)送獲取設備列表請求,所述獲取設備列表請求中攜帶調(diào)試設備屬性,并在返回的符合該調(diào)試設備屬性要求的移動設備列表中選擇待調(diào)試的移動設備;連接管理單元,用于通過所述真機測試服務器將設備連接請求發(fā)送給所選擇的移動設備,建立與所述移動設備之間的連接;部署應用程序單元,用于通過所述真機測試服務器將應用程序代碼部署請求發(fā)送給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼;調(diào)試信息管理單元,用于將集成開發(fā)環(huán)境IDE中的調(diào)試器發(fā)出的調(diào)試命令通過所述真機測試服務器轉(zhuǎn)發(fā)給所述移動設備,并接收所述真機測試服務器轉(zhuǎn)發(fā)回的調(diào)試命令反饋信息;反饋信息處理單元,用于通過所述IDE中的調(diào)試器解析、顯示所述調(diào)試信息管理單元所接收到的調(diào)試命令反饋信息。進一步的,界面操作管理單元,用于通過顯示窗顯示所述移動設備的界面并操作該顯示窗上的移動設備界面,發(fā)送操作指令給所述移動設備,接收顯示所述移動設備執(zhí)行該操作指令后的界面。由上述所提供的技術方案可以看出,首先根據(jù)開發(fā)機所配置的調(diào)試設備屬性,向所述開發(fā)機提供符合該調(diào)試設備屬 性要求的移動設備列表;根據(jù)開發(fā)機發(fā)起的設備連接請求,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備之間的連接;轉(zhuǎn)發(fā)開發(fā)機發(fā)起的應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼;轉(zhuǎn)發(fā)開發(fā)機在應用程序開發(fā)調(diào)試過程中發(fā)出的調(diào)試命令給所述移動設備,并轉(zhuǎn)發(fā)所述移動設備返回的調(diào)試命令反饋信息給所述開發(fā)機。通過上述方法就能夠?qū)σ苿釉O備應用程序進行源代碼級的跟蹤調(diào)試,提高了應用程序開發(fā)調(diào)測的效率。
圖I為本發(fā)明實施例所提供移動設備應用程序開發(fā)調(diào)試的一種方法流程示意圖;圖2為本發(fā)明實施例所提供移動設備應用程序開發(fā)調(diào)試的另一種方法流程示意圖;圖3為本發(fā)明實施例所提供移動設備應用程序開發(fā)調(diào)試的真機測試服務器的結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例所提供移動設備應用程序開發(fā)調(diào)試開發(fā)機的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例所舉具體實例中開發(fā)機具體實現(xiàn)的結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明實施例提供了一種移動設備應用程序開發(fā)調(diào)試的方法及裝置,能夠?qū)σ苿釉O備應用程序進行源代碼級的跟蹤調(diào)試,提高了應用程序開發(fā)調(diào)測的效率,同時可以滿足開發(fā)者對各種移動平臺、各種終端類型開發(fā)調(diào)測的需求。為更好的描述本發(fā)明實施方式,現(xiàn)結(jié)合附圖對本發(fā)明的具體實施方式
進行說明,如圖I所示為本發(fā)明實施例所提供移動設備應用程序開發(fā)調(diào)試的一種方法流程示意圖,所述方法包括步驟11 :根據(jù)開發(fā)機所配置的調(diào)試設備屬性,向開發(fā)機提供符合該調(diào)試設備屬性要求的移動設備列表。在該步驟中,首先可以由真機測試服務器根據(jù)開發(fā)機發(fā)送來的,所配置的調(diào)試設備屬性,向所述開發(fā)機提供符合該調(diào)試設備屬性要求的移動設備列表。該移動設備列表中包含各移動設備的標識ID、連接端口信息,以及是否空閑等信息。在具體實現(xiàn)中,開發(fā)機所配置的調(diào)試設備屬性至少包括以下一項設備操作系統(tǒng)版本信息、設備型號信息。當然本領域能夠想到的其他設備屬性信息也是可以滿足要求的。步驟12 :根據(jù)開發(fā)機發(fā)起的設備連接請求,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備之間的連接。
在該步驟中,可以由真機測試服務器根據(jù)開發(fā)機發(fā)起的設備連接請求,與開發(fā)機所選擇的移動設備建立連接,接收所述移動設備返回的連接響應消息,將所述連接響應消息轉(zhuǎn)發(fā)給所述開發(fā)機,從而建立所述開發(fā)機與所述移動設備之間的連接。具體實現(xiàn)中,所述移動設備返回的連接響應消息中還可以包含移動設備的界面信息,真機測試服務器將所述界面信息通過計算編碼后以碼流的形式發(fā)送給所述開發(fā)機,這樣開發(fā)機就可以在解碼后顯示移動設備的界面,以便于開發(fā)機通過顯示窗顯示所述移動設備的界面,并操作該屏幕信息的移動設備的界面發(fā)送操作指令給移動設備,移動設備執(zhí)行相應操作指令后,再將執(zhí)行操作指令之后的界面信息回傳給真機測試服務器,由真機測試服務器將該界面信息通過計算編碼后以碼流的形式發(fā)送給所述開發(fā)機,開發(fā)機就可以在解碼后顯示執(zhí)行操作指令之后的移動設備的界面。上述移動設備的界面可以是移動設備屏幕和鍵盤等整個移動設備界面。在具體實施過程中,用戶通過開發(fā)機在真機測試服務器所提供的設備列表中選擇待調(diào)試移動設備,開發(fā)機向真機測試服務器發(fā)起設備連接請求,該設備連接請求包含所選 擇移動設備的標識ID和連接端口信息;真機測試服務器根據(jù)移動設備的標識ID和連接端口信息與相應的移動設備建立連接,并接收移動設備的屏幕信息,將該屏幕信息通過計算編碼處理后以H264碼流形式發(fā)送給開發(fā)機,開發(fā)機對碼流信息進行解碼顯示,并進一步向集成開發(fā)環(huán)境IDE中發(fā)送調(diào)試配置成功響應消息。另外,所述真機測試服務器與開發(fā)機所選擇的移動設備建立連接之后,還可以在調(diào)試信息轉(zhuǎn)發(fā)表中添加轉(zhuǎn)發(fā)路由信息,建立所述開發(fā)機與所述移動設備的對應關系,并設置所述移動設備的資源狀態(tài)為調(diào)試狀態(tài),從而為所述移動設備的調(diào)試做好前期準備,具體實現(xiàn)中,所添加的轉(zhuǎn)發(fā)路由信息中可以包含移動設備的連接端口、標識ID等信息。步驟13 :轉(zhuǎn)發(fā)開發(fā)機發(fā)起的應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼。在該步驟中,可以由真機測試服務器轉(zhuǎn)發(fā)開發(fā)機發(fā)起的應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼。在本發(fā)明實施例中,部署到移動設備上的是處于開發(fā)階段的應用程序,所部署的是待測試的應用程序可調(diào)試的代碼;而完成開發(fā)的應用程序是安裝到移動設備上,且不能對代碼進行調(diào)試修改。在具體實施過程中,用戶啟動應用程序調(diào)試,由IDE首先發(fā)起應用程序代碼部署請求消息,開發(fā)機將該應用程序代碼部署請求消息轉(zhuǎn)發(fā)到真機測試服務器中,真機測試服務器將其轉(zhuǎn)發(fā)到相應的移動設備上,并在應用程序可調(diào)試的代碼在移動設備上部署好之后向開發(fā)機發(fā)送應用程序代碼部署成功響應消息。開發(fā)機將該響應消息轉(zhuǎn)發(fā)到IDE,IDE在收到該響應消息后,通過開發(fā)機和真機測試服務器的轉(zhuǎn)發(fā),向移動設備發(fā)起啟動應用程序代碼請求消息,移動設備收到啟動應用程序代碼請求后,將部署的應用程序代碼啟動起來。步驟14 :轉(zhuǎn)發(fā)開發(fā)機在應用程序開發(fā)調(diào)試過程中發(fā)出的調(diào)試命令給所述移動設備,并轉(zhuǎn)發(fā)所述移動設備返回的調(diào)試命令反饋信息給所述開發(fā)機。在該步驟中,可以由真機測試服務器來轉(zhuǎn)發(fā)開發(fā)機發(fā)出的調(diào)試命令給所述移動設備,并轉(zhuǎn)發(fā)所述移動設備返回的調(diào)試命令反饋信息給所述開發(fā)機。在具體實現(xiàn)過程中,若真機測試服務器在與移動設備建立連接之后,在調(diào)試信息轉(zhuǎn)發(fā)表中添加了轉(zhuǎn)發(fā)路由信息,則真機測試服務器可以在獲得開發(fā)機發(fā)出的調(diào)試命令后,根據(jù)調(diào)試命令的來源查找調(diào)試信息轉(zhuǎn)發(fā)表,查找到所述移動設備的連接端口,并將調(diào)試命令通過該連接端口轉(zhuǎn)發(fā)給該移動設備,并等待接收該移動設備返回的調(diào)試命令反饋信息;若查找失敗,則可以向所述開發(fā)機返回失敗響應消息。而移動設備在收到調(diào)試命令之后,執(zhí)行該調(diào)試命令,并將調(diào)試命令反饋信息返回給真機測試服務器,真機測試服務器收到該調(diào)試命令反饋信息之后,再將該調(diào)試命令反饋信息轉(zhuǎn)發(fā)給所述開發(fā)機。上述的調(diào)試命令至少包括以下命令之一設置斷點、查看斷點、單步執(zhí)行、查看變量和查看內(nèi)存。當然在具體實現(xiàn)過程中,也可包含本領域所知的其他調(diào)試命令,此處不做限 定。舉例來說,若開發(fā)機發(fā)送的調(diào)試命令為設置斷點,則移動設備在收到真機測試服務器轉(zhuǎn)發(fā)來的斷點設置請求后,在應用程序中設置斷點,并將斷點信息通過真機測試服務器發(fā)送給開發(fā)機;當應用程序啟動并執(zhí)行到所設置的斷點處時,觸發(fā)斷點信息,移動設備將斷點響應信息(即調(diào)試命令反饋信息)通過真機測試服務器發(fā)送給開發(fā)機,開發(fā)機再將其轉(zhuǎn)發(fā)給IDE,IDE在收到斷點響應信息后,關聯(lián)到應用程序源碼程序中的斷點處,在IDE的調(diào)試器中顯示斷點響應消息。通過上述方法實施例,就可以對移動設備應用程序進行源代碼級的跟蹤調(diào)試,提高了應用程序開發(fā)調(diào)測的效率。本發(fā)明實施例還提供了另一種移動設備應用程序開發(fā)調(diào)試的方法,如圖2所示為移動設備應用程序開發(fā)調(diào)試的另一種方法流程示意圖,所述方法包括步驟21 :向真機測試服務器發(fā)送獲取設備列表請求,獲取設備列表請求中攜帶調(diào)試設備屬性,并在返回的符合該調(diào)試設備屬性要求的移動設備列表中選擇待調(diào)試的移動設備。在該步驟中,首先可以由開發(fā)機一側(cè)向真機測試服務器發(fā)送獲取設備列表請求,所述獲取設備列表請求中攜帶調(diào)試設備屬性,收到真機測試服務器返回的列表后顯示該設備列表信息;然后在返回的符合該調(diào)試設備屬性要求的移動設備列表中選擇待調(diào)試的移動設備。在具體實現(xiàn)過程中,由用戶啟動IDE后,首先通過開發(fā)機配置調(diào)試設備屬性,該調(diào)試設備屬性包括操作系統(tǒng)版本、設備類型等;然后開發(fā)機向真機測試服務器發(fā)送獲取設備列表請求消息,該獲取設備列表請求消息中包括所配置的調(diào)試設備屬性,真機測試服務器根據(jù)所配置的調(diào)試設備屬性向開發(fā)機返回相應的設備列表。步驟22 :通過所述真機測試服務器向所選擇的移動設備發(fā)送設備連接請求,建立與所述移動設備之間的連接。在該步驟中,可以由開發(fā)機在從移動設備列表中選擇了待調(diào)試的移動設備之后,向所述真機測試服務器發(fā)送設備連接請求,由所述真機測試服務器轉(zhuǎn)發(fā)該設備連接請求給所選擇的移動設備,從而建立與所述移動設備之間的連接。具體來說,開發(fā)機向真機測試服務器發(fā)起設備連接請求,真機測試服務器與相應的移動設備建立連接,并接收移動設備返回的連接響應消息,將該連接響應消息轉(zhuǎn)發(fā)給開發(fā)機,開發(fā)機接收到該連接響應消息后,建立開發(fā)機與所述移動設備之間的連接。在具體實現(xiàn)中,移動設備返回的連接響應消息中還可以包含移動設備的屏幕信息,真機測試服務器將所述屏幕信息通過計算編碼后以碼流的形式發(fā)送給所述開發(fā)機,這樣開發(fā)機就可以在解碼后顯示移動設備的屏幕信息,并進一步向集成開發(fā)環(huán)境IDE中發(fā)送調(diào)試配置成功響應消肩、O另外,在開發(fā)機建立與所述移動設備之間的連接之后,還可以通過顯示窗來顯示所述移動設備的界面,并操作該顯示窗上的移動設備界面,操作的同時產(chǎn)生操作指令,將該操作指令通過連接端口發(fā)送給所述移動設備,接收顯示所述移動設備執(zhí)行該操作指令后的界面。例如可以通過顯示窗遙控操作移動設備的按鈕、瀏覽液晶顯示器、聆聽設備聲音和使用揚聲器等,上述移動設備的界面可以是移動設備屏幕和鍵盤等整個移動設備界面。
步驟23 :通過所述真機測試服務器向所述移動設備發(fā)送應用程序代碼部署請求,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼。在該步驟中,可以由開發(fā)機向真機測試服務器發(fā)送應用程序代碼部署請求,由所述真機測試服務器轉(zhuǎn)發(fā)該應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼。步驟24 :將集成開發(fā)環(huán)境IDE中的調(diào)試器發(fā)出的調(diào)試命令通過所述真機測試服務器轉(zhuǎn)發(fā)給所述移動設備。在該步驟中,集成開發(fā)環(huán)境IDE中的調(diào)試器發(fā)出調(diào)試命令,該調(diào)試命令通過所述真機測試服務器轉(zhuǎn)發(fā)給所述移動設備。在具體實現(xiàn)過程中,集成開發(fā)環(huán)境IDE可以設置在開發(fā)機內(nèi),作為開發(fā)機的一個功能模塊。步驟25 :接收所述真機測試服務器轉(zhuǎn)發(fā)回的調(diào)試命令反饋信息,并通過所述IDE中的調(diào)試器解析、顯示該調(diào)試命令反饋信息。在該步驟中,當調(diào)試命令通過真機測試服務器轉(zhuǎn)發(fā)給所述移動設備之后,所述移動設備會根據(jù)調(diào)試命令進行相應的調(diào)試操作,并將調(diào)試命令反饋信息發(fā)送給真機測試服務器;然后開發(fā)機一側(cè)就可以接收真機測試服務器轉(zhuǎn)發(fā)回的調(diào)試命令反饋信息,并通過所述IDE中的調(diào)試器解析、顯示該調(diào)試命令反饋信息,完成整個調(diào)試過程。舉例來說,若IDE中的調(diào)試器發(fā)出的調(diào)試命令為設置斷點,則開發(fā)機在接收到真機測試服務器轉(zhuǎn)發(fā)回的調(diào)試命令反饋信息之后,就可以根據(jù)收到的調(diào)試命令反饋信息通過IDE中的調(diào)試器將其關聯(lián)到應用程序源代碼中的斷點處,并顯示該調(diào)試命令反饋信息。這樣就實現(xiàn)了對移動設備應用程序進行源代碼級的跟蹤調(diào)試,提高了應用程序開發(fā)調(diào)測的效率。通過上述方法實施例,就可以對移動設備應用程序進行源代碼級的跟蹤調(diào)試,提高了應用程序開發(fā)調(diào)測的效率。本發(fā)明實施例還提供了一種移動設備應用程序開發(fā)調(diào)試的真機測試服務器,如圖3所示為所提供的真機測試服務器的結(jié)構(gòu)示意圖,所述真機測試服務器包括訪問調(diào)度單元31,用于根據(jù)開發(fā)機所配置的調(diào)試設備屬性,向所述開發(fā)機提供符合該調(diào)試設備屬性要求的移動設備列表;具體實現(xiàn)方式如以上方法步驟11所述。連接管理單元32,用于根據(jù)開發(fā)機發(fā)起的設備連接請求,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備之間的連接;具體實現(xiàn)方式如以上方法步驟12所述。應用程序部署單元33,用于轉(zhuǎn)發(fā)所述開發(fā)機發(fā)起的應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼;具體實現(xiàn)方式如以上方法步驟13所述。調(diào)試信息代理單元34,用于轉(zhuǎn)發(fā)所述開發(fā)機在應用程序開發(fā)調(diào)試過程中發(fā)出的調(diào)試命令給所述移動設備,并轉(zhuǎn)發(fā)所述移動設備返回的調(diào)試命令反饋信息給所述開發(fā)機。具體實現(xiàn)方式如以上方法步驟14所述。另外,所述真機測試服務器還可以包括
調(diào)試信息設置單元35,用于在調(diào)試信息轉(zhuǎn)發(fā)表中添加轉(zhuǎn)發(fā)路由信息,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備的對應關系,并設置所述移動設備的資源狀態(tài)為調(diào)試狀態(tài)。具體實現(xiàn)中,所添加的轉(zhuǎn)發(fā)路由信息中可以包含移動設備的連接端口、標識ID等信息。本發(fā)明實施例還提供了一種移動設備應用程序開發(fā)調(diào)試的開發(fā)機,如圖4所示所提供開發(fā)機的結(jié)構(gòu)示意圖,所述開發(fā)機包括調(diào)試設備獲取單元41,用于向真機測試服務器發(fā)送獲取設備列表請求,所述獲取設備列表請求中攜帶調(diào)試設備屬性,并在返回的符合該調(diào)試設備屬性要求的移動設備列表中選擇待調(diào)試的移動設備;具體實現(xiàn)方式如以上方法步驟21所述。連接管理單元42,用于通過所述真機測試服務器發(fā)送設備連接請求給所選擇的移動設備,建立與所述移動設備之間的連接;具體實現(xiàn)方式如以上方法步驟22所述。部署應用程序單元43,用于通過所述真機測試服務器發(fā)送應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼;具體實現(xiàn)方式如以上方法步驟23所述。調(diào)試信息管理單元44,用于將集成開發(fā)環(huán)境IDE中的調(diào)試器發(fā)出的調(diào)試命令通過所述真機測試服務器轉(zhuǎn)發(fā)給所述移動設備,并接收所述真機測試服務器轉(zhuǎn)發(fā)回的調(diào)試命令反饋信息;具體實現(xiàn)方式如以上方法步驟24所述。反饋信息處理單元45,用于通過所述IDE中的調(diào)試器解析、顯示所述調(diào)試信息管理單元所接收到的調(diào)試命令反饋信息。具體實現(xiàn)方式如以上方法步驟25所述。另外,所述開發(fā)機還可以包括界面操作管理單元46,用于通過顯示窗顯示所述移動設備的界面,操作該顯示窗上的移動設備界面,并發(fā)送操作指令給所述移動設備,接收顯示所述移動設備執(zhí)行該操作指令后的界面。具體實現(xiàn)方式如以上方法步驟22所述。下面以具體的實例來對開發(fā)機的實現(xiàn)過程進行詳細描述,如圖5所示為開發(fā)機具體實現(xiàn)的結(jié)構(gòu)示意圖,在該圖5中,開發(fā)機包含兩部分集成開發(fā)環(huán)境IDE和真機測試客戶端,由IDE中的真機測試客戶端啟動模塊來啟動真機測試客戶端,從而建立IDE和真機測試客戶端之間的連接。其中,集成開發(fā)環(huán)境IDE包括真機測試客戶端啟動模塊、調(diào)試設備設置模塊和調(diào)試器;真機測試客戶端包括設備列表、設備顯示/輸入控制模塊和調(diào)試管理模塊。該實例中的真機測試客戶端所完成的功能可以包括上述調(diào)試設備獲取單元41,連接管理單元42,調(diào)試信息管理單元44和界面操作管理單元46的功能;而IDE所完成的功能可以包括上述部署應用程序單元43,反饋信息處理單元45的功能。當然,在具體實現(xiàn)過程中,開發(fā)機各功能模塊的劃分并不限于本實例所舉出的例子,本領域能想到的其他劃分方式也是可行的。上述開發(fā)機的實現(xiàn)過程為首先由IDE中的真機測試客戶端啟動模塊來啟動真機測試客戶端,例如可以在IDE啟動時調(diào)用增加進程addProcess接口,該接口輸入?yún)?shù)為真機測試客戶端進程,則真機測試客戶端將被啟動起來,同時真機測試客戶端在啟動時讀取配置文件,獲得真機測試服務器的地址,并與之建立連接。真機測試客戶端和真機測試服務器交互,獲取設備列表,并選擇待調(diào)試的移動設備;例如可以在IDE中配置待調(diào)試移動設備的屬性時,調(diào)用設置屬性setAttribute接口,通過該接口可以設置移動設備的操作系統(tǒng)版本信息、型號等信息,并將設置的移動設備屬性信息發(fā)送給真機測試客戶端;真機測試客戶端收到移動設備屬性信息 后,向真機測試服務器發(fā)送設備列表請求消息,獲取滿足設置屬性的設備列表。真機測試客戶端根據(jù)所選擇的移動設備,通過真機測試服務器建立和所述移動設備的連接;例如當在設備列表中選擇了其中一個移動設備時,真機測試客戶端將該移動設備的ID和連接端口信息發(fā)送給IDE,IDE收到后將調(diào)用添加調(diào)試設備addDebugTarget接口,通過該接口將該移動設備的ID注冊到IDE中,完成調(diào)試前的配置;同時真機測試客戶端向真機測試服務器發(fā)送設備連接請求,與選擇的待調(diào)試移動設備建立連接,并可以進一步獲取該移動設備的屏幕界面。調(diào)試過程中,IDE中的調(diào)試器將待調(diào)試的應用程序可調(diào)試的代碼傳給真機測試客戶端,真機測試客戶端通過真機測試服務器將該應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該應用程序;然后調(diào)試器將調(diào)試命令傳給真機測試客戶端,真機測試客戶端通過真機測試服務器將調(diào)試命令轉(zhuǎn)發(fā)給所述移動設備;然后真機測試客戶端接收移動設備通過真機測試服務器返回的調(diào)試命令反饋信息,并回傳給調(diào)試器,由調(diào)試器解析、顯示所述調(diào)試信息管理單元所接收到的調(diào)試命令反饋信息。值得注意的是,上述真機測試服務器和開發(fā)機的實施例中,所包括的各個單元只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應的功能即可 ’另夕卜,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。此外,上述實施例中的真機測試服務器和開發(fā)機具體均可以為計算機(包括移動計算機和PC機等)。而執(zhí)行上述方法的可以為計算機中的處理器。上述真機測試服務器和開發(fā)機的各功能模塊可以為運行于處理器中的功能模塊。另外,本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件完成,相應的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。綜上所述,本發(fā)明實施例能夠?qū)σ苿釉O備應用程序進行源代碼級的跟蹤調(diào)試,提高了應用程序開發(fā)調(diào)測的效率。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明實施例揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種移動設備應用程序開發(fā)調(diào)試的方法,其特征在于,所述方法包括 根據(jù)開發(fā)機所配置的調(diào)試設備屬性,向所述開發(fā)機提供符合該調(diào)試設備屬性要求的移動設備列表; 根據(jù)開發(fā)機發(fā)起的設備連接請求,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備之間的連接; 轉(zhuǎn)發(fā)開發(fā)機發(fā)起的應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼; 轉(zhuǎn)發(fā)開發(fā)機在應用程序開發(fā)調(diào)試過程中發(fā)出的調(diào)試命令給所述移動設備,并轉(zhuǎn)發(fā)所述移動設備返回的調(diào)試命令反饋信息給所述開發(fā)機。
2.如權(quán)利要求I所述的方法,其特征在于,所述根據(jù)開發(fā)機發(fā)起的設備連接請求,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備之間的連接,具體包括 根據(jù)開發(fā)機發(fā)起的設備連接請求,真機測試服務器與開發(fā)機所選擇的移動設備建立連接,通過建立的連接接收所述移動設備返回的連接響應消息; 將所述連接響應消息轉(zhuǎn)發(fā)給所述開發(fā)機,建立所述開發(fā)機與所述移動設備之間的連接。
3.如權(quán)利要求2所述的方法,其特征在于,所述真機測試服務器與開發(fā)機所選擇的移動設備建立連接之后,還包括 所述真機測試服務器在調(diào)試信息轉(zhuǎn)發(fā)表中添加轉(zhuǎn)發(fā)路由信息,建立所述開發(fā)機與所述移動設備的對應關系,并設置所述移動設備的資源狀態(tài)為調(diào)試狀態(tài)。
4.如權(quán)利要求1-3其中之一所述的方法,其特征在于,所述調(diào)試命令至少包括以下命令之一設置斷點、查看斷點、單步執(zhí)行、查看變量和查看內(nèi)存。
5.如權(quán)利要求I所述的方法,其特征在于,所述調(diào)試設備屬性至少包括以下一項設備操作系統(tǒng)版本信息、設備型號信息。
6.一種移動設備應用程序開發(fā)調(diào)試的方法,其特征在于,所述方法包括 向真機測試服務器發(fā)送獲取設備列表請求,所述獲取設備列表請求中攜帶調(diào)試設備屬性,并在返回的符合該調(diào)試設備屬性要求的移動設備列表中選擇待調(diào)試的移動設備; 通過所述真機測試服務器向所選擇的移動設備發(fā)送設備連接請求,以建立與所述移動設備之間的連接; 通過所述真機測試服務器向所述移動設備發(fā)送應用程序代碼部署請求,以將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼; 將集成開發(fā)環(huán)境IDE中的調(diào)試器發(fā)出的調(diào)試命令通過所述真機測試服務器轉(zhuǎn)發(fā)給所述移動設備; 接收所述真機測試服務器轉(zhuǎn)發(fā)回的調(diào)試命令反饋信息,并通過所述IDE中的調(diào)試器解析、顯示該調(diào)試命令反饋信息。
7.如權(quán)利要求6所述的方法,其特征在于,若所述調(diào)試命令為設置斷點,則所述通過IDE中的調(diào)試器解析、顯示該調(diào)試命令反饋信息具體包括 根據(jù)收到的調(diào)試命令反饋信息,通過IDE中的調(diào)試器將其關聯(lián)到所述應用程序源代碼中的斷點處,并顯示該調(diào)試命令反饋信息。
8.如權(quán)利要求6所述的方法,其特征在于,所述建立與所述移動設備之間的連接之后,還包括 通過顯示窗顯示所述移動設備的界面并操作該顯示窗上的移動設備界面,發(fā)送操作指令給所述移動設備,接收顯示所述移動設備執(zhí)行該操作指令后的界面。
9.一種移動設備應用程序開發(fā)調(diào)試的真機測試服務器,其特征在于,包括 訪問調(diào)度單元,用于根據(jù)開發(fā)機所配置的調(diào)試設備屬性,向所述開發(fā)機提供符合該調(diào)試設備屬性要求的移動設備列表; 連接管理單元,用于根據(jù)開發(fā)機發(fā)起的設備連接請求,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備之間的連接; 應用程序部署單元,用于轉(zhuǎn)發(fā)所述開發(fā)機發(fā)起的應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼; 調(diào)試信息代理單元,用于轉(zhuǎn)發(fā)所述開發(fā)機在應用程序開發(fā)調(diào)試過程中發(fā)出的調(diào)試命令給所述移動設備,并轉(zhuǎn)發(fā)所述移動設備返回的調(diào)試命令反饋信息給所述開發(fā)機。
10.如權(quán)利要求9所述的真機測試服務器,其特征在于,還包括 調(diào)試信息設置單元,用于在調(diào)試信息轉(zhuǎn)發(fā)表中添加轉(zhuǎn)發(fā)路由信息,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備的對應關系,并設置所述移動設備的資源狀態(tài)為調(diào)試狀態(tài)。
11.一種移動設備應用程序開發(fā)調(diào)試的開發(fā)機,其特征在于,包括 調(diào)試設備獲取單元,用于向真機測試服務器發(fā)送獲取設備列表請求,所述獲取設備列表請求中攜帶調(diào)試設備屬性,并在返回的符合該調(diào)試設備屬性要求的移動設備列表中選擇待調(diào)試的移動設備; 連接管理單元,用于通過所述真機測試服務器將設備連接請求發(fā)送給所選擇的移動設備,建立與所述移動設備之間的連接; 部署應用程序單元,用于通過所述真機測試服務器將應用程序代碼部署請求發(fā)送給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼; 調(diào)試信息管理單元,用于將集成開發(fā)環(huán)境IDE中的調(diào)試器發(fā)出的調(diào)試命令通過所述真機測試服務器轉(zhuǎn)發(fā)給所述移動設備,并接收所述真機測試服務器轉(zhuǎn)發(fā)回的調(diào)試命令反饋信息; 反饋信息處理單元,用于通過所述IDE中的調(diào)試器解析、顯示所述調(diào)試信息管理單元所接收到的調(diào)試命令反饋信息。
12.如權(quán)利要求11所述的開發(fā)機,其特征在于,還包括 界面操作管理單元,用于通過顯示窗顯示所述移動設備的界面并操作該顯示窗上的移動設備界面,發(fā)送操作指令給所述移動設備,接收顯示所述移動設備執(zhí)行該操作指令后的界面。
全文摘要
本發(fā)明實施方式提供了一種移動設備應用程序開發(fā)調(diào)試的方法及裝置。首先根據(jù)開發(fā)機所配置的調(diào)試設備屬性,向所述開發(fā)機提供符合該調(diào)試設備屬性要求的移動設備列表;根據(jù)開發(fā)機發(fā)起的設備連接請求,建立所述開發(fā)機與該開發(fā)機所選擇的移動設備之間的連接;轉(zhuǎn)發(fā)開發(fā)機發(fā)起的應用程序代碼部署請求給所述移動設備,將待測試的應用程序可調(diào)試的代碼部署到所述移動設備上,并啟動該部署的應用程序代碼;轉(zhuǎn)發(fā)開發(fā)機在應用程序開發(fā)調(diào)試過程中發(fā)出的調(diào)試命令給所述移動設備,并轉(zhuǎn)發(fā)所述移動設備返回的調(diào)試命令反饋信息給所述開發(fā)機。通過上述方法就能夠?qū)σ苿釉O備應用程序進行源代碼級的跟蹤調(diào)試,提高了應用程序開發(fā)調(diào)測的效率。
文檔編號G06F11/36GK102902618SQ20111021390
公開日2013年1月30日 申請日期2011年7月28日 優(yōu)先權(quán)日2011年7月28日
發(fā)明者李永安, 侯偉奕, 周皓雋, 陳斌, 彭巧巧, 徐謙 申請人:華為技術有限公司