應(yīng)用異常信息的處理方法及裝置的制造方法
【專利摘要】本發(fā)明提供一種應(yīng)用異常信息的處理方法及裝置。本發(fā)明實(shí)施例通過獲取包含至少兩個(gè)版本的插件的應(yīng)用的應(yīng)用異常信息,所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述應(yīng)用發(fā)生異常時(shí)的第一版本插件的運(yùn)行狀態(tài)信息,進(jìn)而根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件,使得能夠根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理,從而實(shí)現(xiàn)了包含至少兩個(gè)版本的插件的應(yīng)用的異常分析。
【專利說明】
應(yīng)用異常信息的處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),尤其涉及一種應(yīng)用異常信息的處理方法及裝置。
【【背景技術(shù)】】
[0002]隨著終端用戶的增長(zhǎng),產(chǎn)品上不斷增加或嘗試新的功能,開發(fā)上面臨代碼量變大的問題和動(dòng)態(tài)發(fā)布功能的需求,于是出現(xiàn)了插件化應(yīng)用,即把一些自己產(chǎn)品的功能或第三方功能作為插件發(fā)布,由應(yīng)用作為容器來進(jìn)行加載,形成新的應(yīng)用。為了保護(hù)代碼不被反編譯,通??梢詫?duì)代碼進(jìn)行混淆處理,以獲得混淆之后的代碼,來進(jìn)行應(yīng)用或插件的發(fā)布。
[0003]然而,由于需要支持動(dòng)態(tài)發(fā)布插件和動(dòng)態(tài)升級(jí)插件,線上海量應(yīng)用可能是應(yīng)用即容器和插件的多個(gè)版本組合,因此,當(dāng)包含多個(gè)版本的插件的應(yīng)用發(fā)生異常時(shí),亟需提供一種應(yīng)用異常信息的處理方法,以進(jìn)行這種應(yīng)用的異常分析處理。
【
【發(fā)明內(nèi)容】
】
[0004]本發(fā)明的多個(gè)方面提供一種應(yīng)用異常信息的處理方法及裝置,用以當(dāng)包含多個(gè)版本的插件的應(yīng)用發(fā)生異常時(shí)進(jìn)行這種應(yīng)用的異常分析處理。
[0005]本發(fā)明的一方面,提供一種應(yīng)用異常信息的處理方法,包括:
[0006]獲取應(yīng)用的應(yīng)用異常信息,所述應(yīng)用包含至少兩個(gè)版本的插件,所述應(yīng)用發(fā)生異常時(shí)的插件為第一版本插件,所述至少兩個(gè)版本的插件中除了所述第一版本插件之外的插件為第二版本插件;所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息;
[0007]根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件;
[0008]根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理。
[0009]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件之前,還包括:
[0010]依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容;
[0011]根據(jù)所述映射內(nèi)容,獲得所述應(yīng)用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。
[0012]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容,包括:
[0013]利用ProGuard工具,依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容。
[0014]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理,包括:
[0015]對(duì)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,進(jìn)行合并處理,以獲得合并文件;
[0016]根據(jù)所述合并文件,利用跟蹤retrace工具,對(duì)所述應(yīng)用進(jìn)行異常分析處理。
[0017]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,
[0018]所述應(yīng)用的運(yùn)行狀態(tài)信息包括所述應(yīng)用的版本信息;或者所述應(yīng)用的版本信息和所述應(yīng)用的啟用狀態(tài);
[0019]所述第一版本插件的運(yùn)行狀態(tài)信息包括所述第一版本插件的版本信息;或者所述第一版本插件的版本信息和所述第一版本插件的啟用狀態(tài)。
[0020]本發(fā)明的另一方面,提供一種應(yīng)用異常信息的處理裝置,包括:
[0021]獲取單元,用于獲取應(yīng)用的應(yīng)用異常信息,所述應(yīng)用包含至少兩個(gè)版本的插件,所述應(yīng)用發(fā)生異常時(shí)的插件為第一版本插件,所述至少兩個(gè)版本的插件中除了所述第一版本插件之外的插件為第二版本插件;所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息;
[0022]查詢單元,用于根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件;
[0023]分析單元,用于根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理。
[0024]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述裝置還包括混淆單元,用于
[0025]依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容;以及
[0026]根據(jù)所述映射內(nèi)容,獲得所述應(yīng)用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。
[0027]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述混淆單元,具體用于
[0028]利用ProGuard工具,依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容。
[0029]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述分析單元,具體用于
[0030]對(duì)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,進(jìn)行合并處理,以獲得合并文件;以及
[0031]根據(jù)所述合并文件,利用跟蹤retrace工具,對(duì)所述應(yīng)用進(jìn)行異常分析處理。
[0032]如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,
[0033]所述應(yīng)用的運(yùn)行狀態(tài)信息包括所述應(yīng)用的版本信息;或者所述應(yīng)用的版本信息和所述應(yīng)用的啟用狀態(tài);
[0034]所述第一版本插件的運(yùn)行狀態(tài)信息包括所述第一版本插件的版本信息;或者所述第一版本插件的版本信息和所述第一版本插件的啟用狀態(tài)。
[0035]由上述技術(shù)方案可知,本發(fā)明實(shí)施例通過獲取包含至少兩個(gè)版本的插件的應(yīng)用的應(yīng)用異常信息,所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述應(yīng)用發(fā)生異常時(shí)的第一版本插件的運(yùn)行狀態(tài)信息,進(jìn)而根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件,使得能夠根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理,從而實(shí)現(xiàn)了包含至少兩個(gè)版本的插件的應(yīng)用的異常分析。
[0036]另外,采用本發(fā)明所提供的技術(shù)方案,通過對(duì)應(yīng)用的代碼和全部版本的插件的代碼進(jìn)行一次整體的混淆處理,獲得一份既包含應(yīng)用的映射內(nèi)容,又包含全部版本的插件的映射內(nèi)容的映射文件,因此,不會(huì)出現(xiàn)不同的代碼被混淆成同一內(nèi)容的情況,能夠有效保證混淆處理的可靠性。
[0037]另外,采用本發(fā)明所提供的技術(shù)方案,能夠自動(dòng)根據(jù)所述應(yīng)用的映射文件和所述應(yīng)用發(fā)生異常時(shí)的第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理,無需人工參與,能夠有效提高異常分析處理的效率和可靠性。
【【附圖說明】】
[0038]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0039]圖1為本發(fā)明一實(shí)施例提供的應(yīng)用異常信息的處理方法的流程示意圖;
[0040]圖2為本發(fā)明另一實(shí)施例提供的應(yīng)用異常信息的處理裝置的結(jié)構(gòu)示意圖;
[0041]圖3為本發(fā)明另一實(shí)施例提供的應(yīng)用異常信息的處理裝置的結(jié)構(gòu)示意圖。
【【具體實(shí)施方式】】
[0042]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的全部其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0043]需要說明的是,本發(fā)明實(shí)施例中所涉及的終端可以包括但不限于手機(jī)、個(gè)人數(shù)字助理(Personal Digital Assistant,PDA)、無線手持設(shè)備、平板電腦(Tablet Computer)、個(gè)人電腦(Personal Computer ,PC)、MP3播放器、MP4播放器、可穿戴設(shè)備(例如,智能眼鏡、智能手表、智能手環(huán)等)等。
[0044]另外,本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,六和/或B,可以表示:單獨(dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另夕卜,本文中字符,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
[0045]圖1為本發(fā)明一實(shí)施例提供的應(yīng)用異常信息的處理方法的流程示意圖,如圖1所不O
[0046]101、獲取應(yīng)用的應(yīng)用異常信息,所述應(yīng)用包含至少兩個(gè)版本的插件,所述應(yīng)用發(fā)生異常時(shí)的插件為第一版本插件,所述至少兩個(gè)版本的插件中除了所述第一版本插件之外的插件為第二版本插件;所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息。
[0047]這里所講的應(yīng)用,可以為安卓(Android)應(yīng)用,或者還可以為1S應(yīng)用,本本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0048]所謂的插件(Plug-1n,又稱addin、add-1n、addon或add-on),還可以稱為外掛,是一種遵循一定規(guī)范的應(yīng)用程序接口編寫出來的程序即代碼。隨著插件功能的更新與調(diào)整,開發(fā)人員可以發(fā)布新版本的插件。加載插件的相關(guān)應(yīng)用的用戶可以對(duì)老版本的插件進(jìn)行升級(jí)處理,以獲得新版本的插件。這樣,在用戶所使用的應(yīng)用中所加載的,可能是升級(jí)之前的老版本的插件,或者還可能是升級(jí)之后的新版本的插件。
[0049]所謂的應(yīng)用發(fā)生異常,是指應(yīng)用無法正常運(yùn)行。閃退(crash),是應(yīng)用在運(yùn)行時(shí)遭遇的無法處理的異?;蝈e(cuò)誤而退出的表現(xiàn),是應(yīng)用最為常見的異常。
[0050]102、根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件。
[0051]103、根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理。
[0052]需要說明的是,101?103的執(zhí)行主體的部分或全部可以為位于本地終端的應(yīng)用,或者還可以為設(shè)置在位于本地終端的應(yīng)用中的插件或軟件開發(fā)工具包(SoftwareDevelopment Kit,SDK)等功能單元,或者還可以為位于網(wǎng)格側(cè)服務(wù)器中的處理引擎,或者還可以為位于網(wǎng)格側(cè)的分布式系統(tǒng),本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0053]可以理解的是,所述應(yīng)用可以是安裝在終端上的本地程序(nativeApp),或者還可以是終端上的瀏覽器的一個(gè)網(wǎng)頁程序(webApp),本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0054]這樣,通過獲取包含至少兩個(gè)版本的插件的應(yīng)用的應(yīng)用異常信息,所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述應(yīng)用發(fā)生異常時(shí)的第一版本插件的運(yùn)行狀態(tài)信息,進(jìn)而根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件,使得能夠根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理,從而實(shí)現(xiàn)了包含至少兩個(gè)版本的插件的應(yīng)用的異常分析。
[0055]本發(fā)明中,所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息,是指用于指示應(yīng)用發(fā)生異常時(shí),該應(yīng)用的運(yùn)行情況。具體來說,所述應(yīng)用的運(yùn)行狀態(tài)信息可以為所述應(yīng)用的版本信息,或者還可以為所述應(yīng)用的版本信息和所述應(yīng)用的啟用狀態(tài),本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0056]本發(fā)明中,所述第一版本插件的運(yùn)行狀態(tài)信息,是指用于指示應(yīng)用發(fā)生異常時(shí),該第一版本插件的運(yùn)行情況。具體來說,所述第一版本插件的運(yùn)行狀態(tài)信息可以為所述第一版本插件的版本信息,或者還可以為所述第一版本插件的版本信息和所述第一版本插件的啟用狀態(tài),本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0057]可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在102之前,還可以進(jìn)一步依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容,進(jìn)而,則可以根據(jù)所述映射內(nèi)容,獲得所述應(yīng)用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。
[0058]這樣,通過對(duì)應(yīng)用的代碼和全部版本的插件的代碼進(jìn)行一次整體的混淆處理,獲得一份既包含應(yīng)用的映射內(nèi)容,又包含全部版本的插件的映射內(nèi)容的映射文件,因此,不會(huì)出現(xiàn)不同的代碼被混淆成同一內(nèi)容的情況,能夠有效保證混淆處理的可靠性。
[0059]具體來說,具體可以利用ProGuard工具,依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容。通過利用ProGuard工具,對(duì)作為容器的應(yīng)用的代碼和全部版本的插件的代碼進(jìn)行一次整體的混淆處理,獲得一份既包含應(yīng)用的映射內(nèi)容,又包含全部版本的插件的映射內(nèi)容的映射文件,因此,不會(huì)出現(xiàn)不同的代碼被混淆成同一內(nèi)容的情況,能夠有效保證混淆處理的可靠性。
[0060]本發(fā)明中,經(jīng)過上述混淆處理之后的應(yīng)用和插件,可以單獨(dú)進(jìn)行發(fā)布。
[0061 ]可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在103中,具體可以對(duì)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,進(jìn)行合并處理,以獲得合并文件,進(jìn)而,則可以根據(jù)所述合并文件,利用跟蹤(retrace)工具,對(duì)所述應(yīng)用進(jìn)行異常分析處理,能夠有效提高異常分析處理的效率。
[0062]本實(shí)施例中,通過獲取包含至少兩個(gè)版本的插件的應(yīng)用的應(yīng)用異常信息,所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述應(yīng)用發(fā)生異常時(shí)的第一版本插件的運(yùn)行狀態(tài)信息,進(jìn)而根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件,使得能夠根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理,從而實(shí)現(xiàn)了包含至少兩個(gè)版本的插件的應(yīng)用的異常分析。
[0063]另外,采用本發(fā)明所提供的技術(shù)方案,通過對(duì)應(yīng)用的代碼和全部版本的插件的代碼進(jìn)行一次整體的混淆處理,獲得一份既包含應(yīng)用的映射內(nèi)容,又包含全部版本的插件的映射內(nèi)容的映射文件,因此,不會(huì)出現(xiàn)不同的代碼被混淆成同一內(nèi)容的情況,能夠有效保證混淆處理的可靠性。
[0064]另外,采用本發(fā)明所提供的技術(shù)方案,能夠自動(dòng)根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理,無需人工參與,能夠有效提高異常分析處理的效率和可靠性。
[0065]需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
[0066]在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
[0067]圖2為本發(fā)明另一實(shí)施例提供的應(yīng)用異常信息的處理裝置的結(jié)構(gòu)示意圖,如圖2所示。本實(shí)施例的應(yīng)用異常信息的處理裝置可以包括獲取單元21、查詢單元22和分析單元23。其中,獲取單元21,用于獲取應(yīng)用的應(yīng)用異常信息,所述應(yīng)用包含至少兩個(gè)版本的插件,所述應(yīng)用發(fā)生異常時(shí)的插件為第一版本插件,所述至少兩個(gè)版本的插件中除了所述第一版本插件之外的插件為第二版本插件;所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息;查詢單元22,用于根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件;分析單元23,用于根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理。
[0068]需要說明的是,本實(shí)施例所提供的應(yīng)用異常信息的處理裝置的部分或全部可以為位于本地終端的應(yīng)用,或者還可以為設(shè)置在位于本地終端的應(yīng)用中的插件或軟件開發(fā)工具包(Software Development Kit,SDK)等功能單元,或者還可以為位于網(wǎng)格側(cè)服務(wù)器中的處理引擎,或者還可以為位于網(wǎng)格側(cè)的分布式系統(tǒng),本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0069]可以理解的是,所述應(yīng)用可以是安裝在終端上的本地程序(nativeApp),或者還可以是終端上的瀏覽器的一個(gè)網(wǎng)頁程序(webApp),本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0070]本發(fā)明中,所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息,是指用于指示應(yīng)用發(fā)生異常時(shí),該應(yīng)用的運(yùn)行情況。具體來說,所述應(yīng)用的運(yùn)行狀態(tài)信息可以為所述應(yīng)用的版本信息,或者還可以為所述應(yīng)用的版本信息和所述應(yīng)用的啟用狀態(tài),本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0071 ]本發(fā)明中,所述第一版本插件的運(yùn)行狀態(tài)信息,是指用于指示應(yīng)用發(fā)生異常時(shí),該第一版本插件的運(yùn)行情況。具體來說,所述第一版本插件的運(yùn)行狀態(tài)信息可以為所述第一版本插件的版本信息,或者還可以為所述第一版本插件的版本信息和所述第一版本插件的啟用狀態(tài),本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0072]可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,如圖3所示,本實(shí)施例所提供的應(yīng)用異常信息的處理裝置還可以進(jìn)一步包括混淆單元31,可以用于依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容;以及根據(jù)所述映射內(nèi)容,獲得所述應(yīng)用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。
[0073]具體來說,所述混淆單元31,具體可以用于利用ProGuard工具,依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容。
[0074]可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,所述分析單元23,具體可以用于對(duì)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,進(jìn)行合并處理,以獲得合并文件;以及根據(jù)所述合并文件,利用跟蹤retrace工具,對(duì)所述應(yīng)用進(jìn)行異常分析處理。
[0075]需要說明的是,圖1對(duì)應(yīng)的實(shí)施例中方法,可以由本實(shí)施例提供的應(yīng)用異常信息的處理裝置實(shí)現(xiàn)。詳細(xì)描述可以參見圖1對(duì)應(yīng)的實(shí)施例中的相關(guān)內(nèi)容,此處不再贅述。
[0076]本實(shí)施例中,通過獲取單元獲取包含至少兩個(gè)版本的插件的應(yīng)用的應(yīng)用異常信息,所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述應(yīng)用發(fā)生異常時(shí)的第一版本插件的運(yùn)行狀態(tài)信息,進(jìn)而由查詢單元根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件,使得分析單元能夠根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理,從而實(shí)現(xiàn)了包含至少兩個(gè)版本的插件的應(yīng)用的異常分析。
[0077]另外,采用本發(fā)明所提供的技術(shù)方案,通過對(duì)應(yīng)用的代碼和全部版本的插件的代碼進(jìn)行一次整體的混淆處理,獲得一份既包含應(yīng)用的映射內(nèi)容,又包含全部版本的插件的映射內(nèi)容的映射文件,因此,不會(huì)出現(xiàn)不同的代碼被混淆成同一內(nèi)容的情況,能夠有效保證混淆處理的可靠性。
[0078]另外,采用本發(fā)明所提供的技術(shù)方案,能夠自動(dòng)根據(jù)所述應(yīng)用的映射文件和所述應(yīng)用發(fā)生異常時(shí)的第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理,無需人工參與,能夠有效提高異常分析處理的效率和可靠性。
[0079]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
[0080]在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0081]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
[0082]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
[0083]上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)裝置(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)裝置等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(Read-Only Memory,R0M)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0084]最后應(yīng)說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種應(yīng)用異常信息的處理方法,其特征在于,包括: 獲取應(yīng)用的應(yīng)用異常信息,所述應(yīng)用包含至少兩個(gè)版本的插件,所述應(yīng)用發(fā)生異常時(shí)的插件為第一版本插件,所述至少兩個(gè)版本的插件中除了所述第一版本插件之外的插件為第二版本插件;所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息; 根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件; 根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件之前,還包括: 依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容; 根據(jù)所述映射內(nèi)容,獲得所述應(yīng)用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容,包括: 利用ProGuard工具,依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理,包括: 對(duì)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,進(jìn)行合并處理,以獲得合并文件; 根據(jù)所述合并文件,利用跟蹤retrace工具,對(duì)所述應(yīng)用進(jìn)行異常分析處理。5.根據(jù)權(quán)利要求1?4任一權(quán)利要求所述的方法,其特征在于, 所述應(yīng)用的運(yùn)行狀態(tài)信息包括所述應(yīng)用的版本信息;或者所述應(yīng)用的版本信息和所述應(yīng)用的啟用狀態(tài); 所述第一版本插件的運(yùn)行狀態(tài)信息包括所述第一版本插件的版本信息;或者所述第一版本插件的版本信息和所述第一版本插件的啟用狀態(tài)。6.一種應(yīng)用異常信息的處理裝置,其特征在于,包括: 獲取單元,用于獲取應(yīng)用的應(yīng)用異常信息,所述應(yīng)用包含至少兩個(gè)版本的插件,所述應(yīng)用發(fā)生異常時(shí)的插件為第一版本插件,所述至少兩個(gè)版本的插件中除了所述第一版本插件之外的插件為第二版本插件;所述應(yīng)用異常信息中包含所述應(yīng)用發(fā)生異常時(shí)應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息; 查詢單元,用于根據(jù)所述應(yīng)用的運(yùn)行狀態(tài)信息和所述第一版本插件的運(yùn)行狀態(tài)信息,獲得所述應(yīng)用的映射文件和所述第一版本插件的映射文件; 分析單元,用于根據(jù)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,對(duì)所述應(yīng)用進(jìn)行異常分析處理。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括混淆單元,用于 依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容;以及 根據(jù)所述映射內(nèi)容,獲得所述應(yīng)用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述混淆單元,具體用于 利用ProGuard工具,依次對(duì)所述應(yīng)用的代碼、所述第一版本插件的代碼和所述第二版本插件的代碼,進(jìn)行混淆處理,以獲得映射內(nèi)容。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述分析單元,具體用于 對(duì)所述應(yīng)用的映射文件和所述第一版本插件的映射文件,進(jìn)行合并處理,以獲得合并文件;以及 根據(jù)所述合并文件,利用跟蹤retrace工具,對(duì)所述應(yīng)用進(jìn)行異常分析處理。10.根據(jù)權(quán)利要求6?9任一權(quán)利要求所述的裝置,其特征在于, 所述應(yīng)用的運(yùn)行狀態(tài)信息包括所述應(yīng)用的版本信息;或者所述應(yīng)用的版本信息和所述應(yīng)用的啟用狀態(tài); 所述第一版本插件的運(yùn)行狀態(tài)信息包括所述第一版本插件的版本信息;或者所述第一版本插件的版本信息和所述第一版本插件的啟用狀態(tài)。
【文檔編號(hào)】G06F11/36GK105912466SQ201610213492
【公開日】2016年8月31日
【申請(qǐng)日】2016年4月7日
【發(fā)明人】賈軍, 高飛, 趙林
【申請(qǐng)人】百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司