本發(fā)明實施例涉及計算機(jī)
技術(shù)領(lǐng)域:
,尤其涉及一種應(yīng)用程序調(diào)試方法及裝置。
背景技術(shù):
:目前,在應(yīng)用程序上市之前,研發(fā)人員需要對應(yīng)用程序進(jìn)行調(diào)試,以確定應(yīng)用程序的正確性。在應(yīng)用程序中包括多個lib庫,該lib庫中存儲著應(yīng)用程序的運(yùn)行代碼。在lib庫中的代碼運(yùn)行的過程中,可能需要調(diào)用第三方j(luò)ar包,以實現(xiàn)相應(yīng)的功能。一個應(yīng)用程序中的每一個lib庫可能依賴(需要調(diào)用)多個第三方j(luò)ar包,不同lib庫依賴的第三方j(luò)ar包可能相同,也可能不同。在現(xiàn)有技術(shù)中,通常將兩個或兩個以上的lib庫對應(yīng)的所有jar包存放在公共lib庫中,并建立lib庫之間的依賴關(guān)系,在一個lib庫運(yùn)行的過程中,通過調(diào)用公共lib庫,以實現(xiàn)完成相應(yīng)的功能。在一個lib庫調(diào)用公共lib庫時,需要對公共lib庫中的所有jar包進(jìn)行編譯。例如,假設(shè)lib庫1依賴jar包1和jar包2,lib庫2依賴jar包2和jar包3,lib庫3依賴jar包2和jar包4,則將lib庫1和lib庫2共同依賴的jar包2、以及l(fā)ib庫2和lib庫3共同依賴的jar包2存放在公共lib庫中,當(dāng)lib庫1調(diào)用公共lib庫時,需要對公共lib庫中的jar包2和jar包3進(jìn)行編譯,但是,lib庫1并不依賴jar包3,導(dǎo)致lib庫1對jar包3進(jìn)行了多余的編譯。由上可知,在lib庫調(diào)用公共lib庫時,由于lib庫需要編譯公共lib庫中的所有jar包,而公共lib庫中的部分jar包非該lib庫依賴的jar包,使得lib庫需要編譯多余的jar包,導(dǎo)致應(yīng)用程序的調(diào)試效率低下。技術(shù)實現(xiàn)要素:本發(fā)明實施例提供一種應(yīng)用程序調(diào)試方法及裝置,提高了應(yīng)用程序的調(diào)試效率。第一方面,本發(fā)明實施例提供一種應(yīng)用程序調(diào)試方法,包括:獲取對第一lib庫進(jìn)行調(diào)用的調(diào)用指令,所述第一lib庫為應(yīng)用程序中的任意一個lib庫;根據(jù)所述調(diào)用指令,確定第一lib庫對應(yīng)的私有jar包;根據(jù)預(yù)設(shè)依賴關(guān)系,在托管平臺中確定所述第一lib庫對應(yīng)的公共jar包,所述托管平臺中包括至少一個公共jar包,所述公共jar包為所述應(yīng)用從程序中至少兩個lib庫對應(yīng)的jar包,所述預(yù)設(shè)依賴關(guān)系用于指示所述應(yīng)用程序中的lib庫與所述托管平臺中的公共jar包的對應(yīng)關(guān)系;根據(jù)所述私有jar包和所述第一lib庫對應(yīng)的公共jar包,運(yùn)行所述第一lib庫。在一種可能的實施方式中,根據(jù)所述私有jar包和所述第一lib庫對應(yīng)的公共jar包,運(yùn)行所述第一lib庫,包括:在所述第一lib庫中編譯所述私有jar包,得到第一編譯文件;獲取所述第一lib庫對應(yīng)的公共jar包的編譯狀態(tài);根據(jù)所述第一lib庫對應(yīng)的公共jar包的編譯狀態(tài),獲取第二編譯文件;根據(jù)所述第一編譯文件和所述第二編譯文件,運(yùn)行所述第一lib庫。在另一種可能的實施方式中,根據(jù)所述第一lib庫對應(yīng)的公共jar包的編譯狀態(tài),獲取第二編譯文件,包括:若第一lib庫對應(yīng)的公共jar包的狀態(tài)為未編譯狀態(tài),則調(diào)用編譯器對所述公共jar包進(jìn)行編譯,得到所述第二編譯文件;若第一lib庫對應(yīng)的公共jar包的狀態(tài)為已編譯狀態(tài),則在公共編譯文件存儲區(qū)獲取所述第二編譯文件,所述公共編譯文件存儲區(qū)用于存儲所述托管平臺中已編譯的jar包的編譯文件。在另一種可能的實施方式中,調(diào)用編譯器對所述公共jar包進(jìn)行編譯,得到所述第二編譯文件之后,還包括:將所述第二編譯文件存儲至所述公共編譯文件存儲區(qū)。在另一種可能的實施方式中,獲取對第一lib庫進(jìn)行調(diào)用的調(diào)用指令之前,還包括:獲取所述應(yīng)用程序?qū)?yīng)的jar包集合;在所述jar包集合中確定公共jar包,所述公共jar包為所述應(yīng)用從程序中至少兩個lib庫對應(yīng)的jar包;根據(jù)各所述公共jar包對應(yīng)的lib庫,確定所述預(yù)設(shè)依賴關(guān)系;將各所述公共jar包存儲至所述托管平臺。第二方面,本發(fā)明實施例提供一種應(yīng)用程序調(diào)試裝置,包括第一獲取模塊、第一確定模塊、第二確定模塊及運(yùn)行模塊,其中,所述第一獲取模塊用于,獲取對第一lib庫進(jìn)行調(diào)用的調(diào)用指令,所述第一lib庫為應(yīng)用程序中的任意一個lib庫;所述第一確定模塊用于,根據(jù)所述調(diào)用指令,確定第一lib庫對應(yīng)的私有jar包;所述第二確定模塊用于,根據(jù)預(yù)設(shè)依賴關(guān)系,在托管平臺中確定所述第一lib庫對應(yīng)的公共jar包,所述托管平臺中包括至少一個公共jar包,所述公共jar包為所述應(yīng)用從程序中至少兩個lib庫對應(yīng)的jar包,所述預(yù)設(shè)依賴關(guān)系用于指示所述應(yīng)用程序中的lib庫與所述托管平臺中的公共jar包的對應(yīng)關(guān)系;所述運(yùn)行模塊用于,根據(jù)所述私有jar包和所述第一lib庫對應(yīng)的公共jar包,運(yùn)行所述第一lib庫。在一種可能的實施方式中,所述運(yùn)行模塊具體用于:在所述第一lib庫中編譯所述私有jar包,得到第一編譯文件;獲取所述第一lib庫對應(yīng)的公共jar包的編譯狀態(tài);根據(jù)所述第一lib庫對應(yīng)的公共jar包的編譯狀態(tài),獲取第二編譯文件;根據(jù)所述第一編譯文件和所述第二編譯文件,運(yùn)行所述第一lib庫。在另一種可能的實施方式中,所述第二確定模塊具體用于:若第一lib庫對應(yīng)的公共jar包的狀態(tài)為未編譯狀態(tài),則調(diào)用編譯器對所述公共jar包進(jìn)行編譯,得到所述第二編譯文件;若第一lib庫對應(yīng)的公共jar包的狀態(tài)為已編譯狀態(tài),則在公共編譯文件存儲區(qū)獲取所述第二編譯文件,所述公共編譯文件存儲區(qū)用于存儲所述托管平臺中已編譯的jar包的編譯文件。在另一種可能的實施方式中,所述裝置還包括第一存儲模塊,其中,所述第一存儲模塊用于,在所述第二確定模塊調(diào)用編譯器對所述公共jar包進(jìn)行編譯,得到所述第二編譯文件之后,將所述第二編譯文件存儲至所述公共編譯文件存儲區(qū)。在另一種可能的實施方式中,所述裝置還包括第二獲取模塊、第三確定模塊、第四確定模塊和第二存儲模塊,其中,所述第二獲取模塊用于,在所述第一獲取模塊獲取對第一lib庫進(jìn)行調(diào)用的調(diào)用指令之前,獲取所述應(yīng)用程序?qū)?yīng)的jar包集合;所述第三確定模塊用于,在所述jar包集合中確定公共jar包,所述公共jar包為所述應(yīng)用從程序中至少兩個lib庫對應(yīng)的jar包;所述第四確定模塊用于,根據(jù)各所述公共jar包對應(yīng)的lib庫,確定所述預(yù)設(shè)依賴關(guān)系;所述第二存儲模塊用于,將各所述公共jar包存儲至所述托管平臺。本發(fā)明實施例提供的應(yīng)用程序調(diào)試方法及裝置,在獲取到對第一lib庫進(jìn)行調(diào)用的調(diào)用指令之后,根據(jù)調(diào)用指令,確定第一lib庫對應(yīng)的私有jar包;根據(jù)預(yù)設(shè)依賴關(guān)系,在托管平臺中確定第一lib庫對應(yīng)的公共jar包,并根據(jù)私有jar包和第一lib庫對應(yīng)的公共jar包,運(yùn)行第一lib庫。在上述過程中,通過預(yù)設(shè)依賴關(guān)系可以指示第一lib庫對應(yīng)的公共jar包,這樣,在第一lib運(yùn)行的過程中,只需要編譯第一lib對應(yīng)的公共jar包即可,無需對托管平臺中其它公共jar包進(jìn)行編譯,提高了lib庫的運(yùn)行效率,進(jìn)而提高了應(yīng)用程序的調(diào)試效率。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的應(yīng)用程序調(diào)試方法的應(yīng)用場景示意圖;圖2為本發(fā)明實施例提供的應(yīng)用程序調(diào)試方法的流程示意圖;圖3為本發(fā)明實施例提供的確定預(yù)設(shè)依賴關(guān)系及公共jar包方法的流程示意圖;圖4為本發(fā)明實施例提供的應(yīng)用程序調(diào)試裝置的結(jié)構(gòu)示意圖一;圖5為本發(fā)明實施例提供的應(yīng)用程序調(diào)試裝置的結(jié)構(gòu)示意圖二。具體實施方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明實施例提供的應(yīng)用程序調(diào)試方法的應(yīng)用場景示意圖。請參見圖1,在終端設(shè)備中設(shè)置有應(yīng)用程序101、托管平臺102、及預(yù)設(shè)依賴關(guān)系表103。用戶可以在終端設(shè)備中對應(yīng)用程序101進(jìn)行調(diào)試,在應(yīng)用程序101中包括多個lib庫(分別記為lib庫1至lib庫n),lib庫對應(yīng)有私有jar包,該私有jar包通常為第三方j(luò)ar包,當(dāng)然,部分lib庫也可能不對應(yīng)有私有jar包。托管平臺102中包括多個公共jar包,當(dāng)然,托管平臺102還可以設(shè)置在遠(yuǎn)端服務(wù)器中。預(yù)設(shè)依賴關(guān)系表103中包括應(yīng)用程序中每一個lib庫的標(biāo)識、及各lib庫的標(biāo)識對應(yīng)的公共jar包,當(dāng)然,該預(yù)設(shè)依賴關(guān)系表103還可以設(shè)置在遠(yuǎn)端服務(wù)器中。在本申請中,當(dāng)需要運(yùn)行l(wèi)ib庫時,可以根據(jù)預(yù)設(shè)依賴關(guān)系表,在托管平臺中確定對應(yīng)的公共jar包,并根據(jù)本地的私有jar包和托管平臺中對應(yīng)的公共jar包運(yùn)行l(wèi)ib,避免了對lib庫不依賴的jar包進(jìn)行編譯,提高了lib庫的運(yùn)行效率,進(jìn)而提高了應(yīng)用程序的調(diào)試效率。下面,通過具體實施例對本申請所示的技術(shù)方案進(jìn)行詳細(xì)說明。需要說明的是,下面幾個具體實施例可以相互結(jié)合,對于相同或相似的內(nèi)容在不同的實施例中不再進(jìn)行贅述。圖2為本發(fā)明實施例提供的應(yīng)用程序調(diào)試方法的流程示意圖。請參見圖2,包括:s201、獲取對第一lib庫進(jìn)行調(diào)用的調(diào)用指令,第一lib庫為應(yīng)用程序中的任意一個lib庫。本發(fā)明實施例的執(zhí)行主體可以為應(yīng)用程序調(diào)試裝置(下文簡稱調(diào)試裝置),該調(diào)試裝置可以通過軟件和/或硬件實現(xiàn)。該調(diào)試裝置可以設(shè)置在終端設(shè)備中。可選的,該終端設(shè)備可以為電腦等設(shè)備。在終端設(shè)備中對應(yīng)用程序進(jìn)行調(diào)試的過程中,應(yīng)用程序中的多個lib庫按照預(yù)設(shè)順序運(yùn)行。其中,應(yīng)用程序中的任意一個lib庫均可以通過圖2實施例所示的方法運(yùn)行,下面,以應(yīng)用程序中的任意一個第一lib庫的運(yùn)行過程為例,對圖2實施例所示的方法進(jìn)行詳細(xì)說明。在實際應(yīng)用過程中,應(yīng)用程序中的各個lib庫通過按照一定的順序執(zhí)行,當(dāng)一個lib庫運(yùn)行完成之后,可以對另一個lib庫進(jìn)行調(diào)用,以保證應(yīng)用程序可以順序執(zhí)行。在本發(fā)明實施例中,對第一lib庫的調(diào)用指令可能是應(yīng)用程序中其它lib庫對第一lib庫進(jìn)行調(diào)用時產(chǎn)生的。s202、根據(jù)調(diào)用指令,確定第一lib庫對應(yīng)的私有jar包??蛇x的,第一lib庫對應(yīng)的私有jar包是指僅第一lib庫可以使用的jar包??蛇x的,第一lib庫對應(yīng)的私有jar包可以存儲在第一lib庫中,也可以存儲在該應(yīng)用程序的其它文件中。s203、根據(jù)預(yù)設(shè)依賴關(guān)系,在托管平臺中確定第一lib庫對應(yīng)的公共jar包。其中,托管平臺中包括至少一個公共jar包,公共jar包為應(yīng)用從程序中至少兩個lib庫對應(yīng)的jar包,預(yù)設(shè)依賴關(guān)系用于指示應(yīng)用程序中的lib庫與托管平臺中的公共jar包的對應(yīng)關(guān)系。在本發(fā)明實施例中,公共jar包是指應(yīng)用程序中至少兩個lib庫對應(yīng)的jar包。例如,假設(shè)應(yīng)用程序中包括lib庫1、lib庫2和lib庫3,其中,lib庫1對應(yīng)jar包1和jar包2,lib庫2對應(yīng)jar包2和jar包3,lib庫3對應(yīng)jar包3和jar包4,由于lib庫1和lib庫2均對應(yīng)jar包2,因此jar包2為公共jar包,由于lib庫2和lib庫3均對應(yīng)jar包3,因此,jar包3也為公共jar包。即,該應(yīng)用程序中的公共jar包可以包括jar包2和jar包3。預(yù)設(shè)依賴關(guān)系是指應(yīng)用程序中的lib庫與托管平臺中的公共jar包之間的對應(yīng)關(guān)系。可選的,該預(yù)設(shè)依賴關(guān)系可以存儲在應(yīng)用程序的build.gradle文件中。可選的,一個lib庫可以對應(yīng)多個公共jar包,一個公共jar包也可以對應(yīng)多個lib庫。可選的,可以通過表格表示該預(yù)設(shè)依賴關(guān)系。例如,該預(yù)設(shè)依賴關(guān)系可以如表1所示:表1可選的,可以通過查詢該預(yù)設(shè)依賴關(guān)系表,確定第一lib庫對應(yīng)的公共jar包。s204、根據(jù)私有jar包和第一lib庫對應(yīng)的公共jar包,運(yùn)行第一lib庫。在確定得到第一lib庫對應(yīng)的私有jar包和公共jar包之后,可以根據(jù)如下可行的實現(xiàn)方式運(yùn)行第一lib庫:在第一lib庫中編譯私有jar包,得到第一編譯文件,獲取第一lib庫對應(yīng)的公共jar包的編譯狀態(tài),根據(jù)第一lib庫對應(yīng)的公共jar包的編譯狀態(tài),獲取第二編譯文件,根據(jù)第一編譯文件和第二編譯文件,運(yùn)行第一lib庫??蛇x的,可以通過如下可行的實現(xiàn)方式根據(jù)第一lib庫對應(yīng)的公共jar包的編譯狀態(tài),獲取第二編譯文件:若第一lib庫對應(yīng)的公共jar包的狀態(tài)為未編譯狀態(tài),則調(diào)用編譯器對公共jar包進(jìn)行編譯,得到第二編譯文件,并將第二編譯文件存儲至公共編譯文件存儲區(qū);若第一lib庫對應(yīng)的公共jar包的狀態(tài)為已編譯狀態(tài),則在公共編譯文件存儲區(qū)獲取第二編譯文件,公共編譯文件存儲區(qū)用于存儲托管平臺中已編譯的jar包的編譯文件。需要說明的是,由于應(yīng)用程序中的多個lib庫可能對應(yīng)同一公共jar包,在應(yīng)用程序的調(diào)試過程中,當(dāng)一個lib庫調(diào)用一個公共jar包時,需要調(diào)用編譯器對該公共jar包進(jìn)行編譯,得到編譯文件,并將編譯文件存儲至公共編譯文件存儲區(qū)。這樣,當(dāng)其它lib庫也需要調(diào)用該公共jar包時,直接在公共編譯文件存儲區(qū)獲取該公共jar包的編譯文件即可,無需對該公共jar包進(jìn)行再次編譯。本發(fā)明實施例提供的應(yīng)用程序調(diào)試方法,在獲取到對第一lib庫進(jìn)行調(diào)用的調(diào)用指令之后,根據(jù)調(diào)用指令,確定第一lib庫對應(yīng)的私有jar包;根據(jù)預(yù)設(shè)依賴關(guān)系,在托管平臺中確定第一lib庫對應(yīng)的公共jar包,并根據(jù)私有jar包和第一lib庫對應(yīng)的公共jar包,運(yùn)行第一lib庫。在上述過程中,通過預(yù)設(shè)依賴關(guān)系可以指示第一lib庫對應(yīng)的公共jar包,這樣,在第一lib運(yùn)行的過程中,只需要編譯第一lib對應(yīng)的公共jar包即可,無需對托管平臺中其它公共jar包進(jìn)行編譯,提高了lib庫的運(yùn)行效率,進(jìn)而提高了應(yīng)用程序的調(diào)試效率。在實際應(yīng)用過程中,在執(zhí)行圖2所示的實施例之前,需要先確定應(yīng)用程序中的公共jar包、以及預(yù)設(shè)依賴關(guān)系。具體的,可以通過圖3所示的實施例實現(xiàn)。圖3為本發(fā)明實施例提供的確定預(yù)設(shè)依賴關(guān)系及公共jar包方法的流程示意圖。請參見圖3,該方法可以包括:s301、獲取應(yīng)用程序?qū)?yīng)的jar包集合。可選的,當(dāng)需要獲取應(yīng)用程序丟應(yīng)的jar包集合時,可以先獲取應(yīng)用程序中每一lib庫對應(yīng)jar包,由于不同lib庫可能對應(yīng)相同的jar包,因此,可以對每一個lib庫對應(yīng)的jar進(jìn)行去重處理,得到應(yīng)用程序?qū)?yīng)的jar包集合。s302、在jar包集合中確定公共jar包,公共jar包為應(yīng)用從程序中至少兩個lib庫對應(yīng)的jar包。在獲取得到j(luò)ar包集合中,根據(jù)jar包集合中每一個jar包對應(yīng)的lib庫的個數(shù),確定公共jar包。具體的,若jar包對應(yīng)的lib庫的個數(shù)大于或等于2,則將該jar包確定為公共jar包。s303、根據(jù)各公共jar包對應(yīng)的lib,確定預(yù)設(shè)依賴關(guān)系。在確定得到公共jar包之后,根據(jù)每一個jar包對應(yīng)的lib庫,確定該預(yù)設(shè)依賴關(guān)系。需要說明的是,該預(yù)設(shè)依賴關(guān)系可以如表1所示,本發(fā)明實施例對預(yù)設(shè)依賴關(guān)系不再進(jìn)行贅述。s304、將各公共jar包存儲至托管平臺。在確定得到公共jar包之后,將公共jar包存儲至托管平臺。需要說明的是,應(yīng)用程序中的各個lib庫中的代碼相互獨(dú)立,便于后期維護(hù)。在實際應(yīng)用過程中,當(dāng)應(yīng)用程序中的lib庫對應(yīng)的jar包發(fā)生變化時,只需要對預(yù)設(shè)依賴關(guān)系和托管平臺中的jar包進(jìn)行更新即可,進(jìn)一步簡化了對應(yīng)用程序的后期維護(hù)過程。下面,通過具體示例,對上述方法實施例所示的技術(shù)方案進(jìn)行詳細(xì)說明。示例性的,假設(shè)應(yīng)用程序1中包括5個lib庫,分別記為lib庫1-lib庫5,各lib庫對應(yīng)的jar包可以如表2所示:表2調(diào)試裝置根據(jù)表2,確定應(yīng)用程序1對應(yīng)的jar包集合,該jar包集合中包括7個jar包,分別為jar包1-jar包7。并在jar包1-jar包7中確定公共jar包,公共jar包為:jar包1、jar包2、jar包6,并將該jar包1、jar包2、jar包6存儲至托管平臺。調(diào)試裝置根據(jù)各個jar包對應(yīng)的lib庫,確定表3所示的預(yù)設(shè)依賴關(guān)系:表3jar包的標(biāo)識lib庫的標(biāo)識jar包1lib庫1、lib庫3jar包2lib庫1、lib庫2jar包6lib庫3、lib庫4、lib庫5在對應(yīng)用程序1調(diào)試的過程中,當(dāng)獲取到對lib庫3的調(diào)用指令之后,確定lib庫3對應(yīng)的私有jar包為jar包5,根據(jù)表3所述的預(yù)設(shè)依賴關(guān)系,確定lib庫3對應(yīng)的公共jar包為jar包1和jar包6。調(diào)試裝置調(diào)用編譯裝置對jar1包5進(jìn)行編譯,得到編譯文件5。調(diào)試裝置判斷公共編譯文件存儲區(qū)是否包括jar包1和jar包6的編譯文件,假設(shè)公共編譯文件存儲區(qū)包括jar包1的編譯文件1,則調(diào)試裝置在公共編譯文件存儲區(qū)獲取編譯文件1。假設(shè)公共編譯文件存儲區(qū)不包括jar包6的編譯文件6,則調(diào)試裝置調(diào)用編譯器對jar包6進(jìn)行編譯,得到j(luò)ar包6的編譯文件6,并將編譯文件6存儲在公共編譯文件存儲區(qū)。在調(diào)試裝置獲取得到編譯文件1、編譯文件5、以及編譯文件6之后,調(diào)試裝置根據(jù)編譯文件1、編譯文件5、以及編譯文件6運(yùn)行l(wèi)ib庫3。圖4為本發(fā)明實施例提供的應(yīng)用程序調(diào)試裝置的結(jié)構(gòu)示意圖一。請參見圖4,該裝置可以包括第一獲取模塊11、第一確定模塊12、第二確定模塊13及運(yùn)行模塊14,其中,所述第一獲取模塊11用于,獲取對第一lib庫進(jìn)行調(diào)用的調(diào)用指令,所述第一lib庫為應(yīng)用程序中的任意一個lib庫;所述第一確定模塊12用于,根據(jù)所述調(diào)用指令,確定第一lib庫對應(yīng)的私有jar包;所述第二確定模塊13用于,根據(jù)預(yù)設(shè)依賴關(guān)系,在托管平臺中確定所述第一lib庫對應(yīng)的公共jar包,所述托管平臺中包括至少一個公共jar包,所述公共jar包為所述應(yīng)用從程序中至少兩個lib庫對應(yīng)的jar包,所述預(yù)設(shè)依賴關(guān)系用于指示所述應(yīng)用程序中的lib庫與所述托管平臺中的公共jar包的對應(yīng)關(guān)系;所述運(yùn)行模塊14用于,根據(jù)所述私有jar包和所述第一lib庫對應(yīng)的公共jar包,運(yùn)行所述第一lib庫。本發(fā)明實施例提供的應(yīng)用程序調(diào)試裝置可以執(zhí)行上述方法實施例所示的技術(shù)方案,其實現(xiàn)原理以及有益效果類似,此處不再進(jìn)行贅述。在一種可能的實施方式中,所述運(yùn)行模塊14具體用于:在所述第一lib庫中編譯所述私有jar包,得到第一編譯文件;獲取所述第一lib庫對應(yīng)的公共jar包的編譯狀態(tài);根據(jù)所述第一lib庫對應(yīng)的公共jar包的編譯狀態(tài),獲取第二編譯文件;根據(jù)所述第一編譯文件和所述第二編譯文件,運(yùn)行所述第一lib庫。在另一種可能的實施方式中,所述第二確定模塊13具體用于:若第一lib庫對應(yīng)的公共jar包的狀態(tài)為未編譯狀態(tài),則調(diào)用編譯器對所述公共jar包進(jìn)行編譯,得到所述第二編譯文件;若第一lib庫對應(yīng)的公共jar包的狀態(tài)為已編譯狀態(tài),則在公共編譯文件存儲區(qū)獲取所述第二編譯文件,所述公共編譯文件存儲區(qū)用于存儲所述托管平臺中已編譯的jar包的編譯文件。圖5為本發(fā)明實施例提供的應(yīng)用程序調(diào)試裝置的結(jié)構(gòu)示意圖二。在圖4所示實施例的基礎(chǔ)上,請參見圖5,所述裝置還包括第一存儲模塊15,其中,所述第一存儲模塊15用于,在所述第二確定模塊13調(diào)用編譯器對所述公共jar包進(jìn)行編譯,得到所述第二編譯文件之后,將所述第二編譯文件存儲至所述公共編譯文件存儲區(qū)。在另一種可能的實施方式中,所述裝置還包括第二獲取模塊16、第三確定模塊17、第四確定模塊18和第二存儲模塊19,其中,所述第二獲取模塊16用于,在所述第一獲取模塊獲取對第一lib庫進(jìn)行調(diào)用的調(diào)用指令之前,獲取所述應(yīng)用程序?qū)?yīng)的jar包集合;所述第三確定模塊17用于,在所述jar包集合中確定公共jar包,所述公共jar包為所述應(yīng)用從程序中至少兩個lib庫對應(yīng)的jar包;所述第四確定模塊18用于,根據(jù)各所述公共jar包對應(yīng)的lib庫,確定所述預(yù)設(shè)依賴關(guān)系;所述第二存儲模塊19用于,將各所述公共jar包存儲至所述托管平臺。本發(fā)明實施例提供的應(yīng)用程序調(diào)試裝置可以執(zhí)行上述方法實施例所示的技術(shù)方案,其實現(xiàn)原理以及有益效果類似,此處不再進(jìn)行贅述。本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明實施例的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明實施例進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實施例方案的范圍。當(dāng)前第1頁12