亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種核對apk內(nèi)多國語言的方法及其系統(tǒng)的制作方法

文檔序號:8445434閱讀:682來源:國知局
一種核對apk內(nèi)多國語言的方法及其系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及語言間的對比方法,具體涉及一種核對APK內(nèi)多國語言的方法及其系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中對比android上不同應(yīng)用在多國語言下的文字,通常采用手工對比法。方法大致為手持兩臺不同語言的機(jī)器,對比相同頁面下是否存在相同的字符串,并手動記入相同的內(nèi)容。
[0003]手工方法測試一個(gè)手機(jī)模塊需要耗費(fèi)2-3小時(shí),且一些隱藏的比較深的模塊和需要特殊條件(如低電量,低內(nèi)存等)才能觸發(fā)的提示很難發(fā)現(xiàn)。如果還需要結(jié)合字典查找,則花費(fèi)時(shí)間更久。最后,提交的錯(cuò)誤記錄是根據(jù)界面截圖而來,開發(fā)人員還需要時(shí)間定位這些字符串。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于提供一種核對APK內(nèi)多國語言的方法及其系統(tǒng),能夠?qū)崿F(xiàn)不同Values文件中string, xml文件之間的對比,并且能夠與字典文件進(jìn)行對比,指出字典文件的缺陷,測試效率高,準(zhǔn)確率高。
[0005]為了達(dá)到上述目的,本發(fā)明通過以下技術(shù)方案實(shí)現(xiàn):一種核對APK內(nèi)多國語言的方法,其特點(diǎn)是,包含以下步驟:
51、抓取待測試的APK文件,并對待測試的APK文件進(jìn)行反編譯以獲得對比文件及源文件;
52、解析對比文件,獲取對比文件中所有節(jié)點(diǎn)的屬性名和內(nèi)容字符串,新建一個(gè)MapFile字段構(gòu)成的List,并將節(jié)點(diǎn)的屬性名和內(nèi)容字符串分別存入MapFile字段的label和 contrastText ;
53、解析源文件,獲取源文件中所有節(jié)點(diǎn)的屬性名和內(nèi)容字符串,新建一個(gè)MapFi I e字段構(gòu)成的LiSt,并將節(jié)點(diǎn)的屬性名和內(nèi)容字符串分別存入MapFiIe字段的IabeI和srcText ;
54、1、獲取源文件List中的一個(gè)元素,將該元素中的label和srcText字段與對比文件中一個(gè)元素的label和contrastText字段進(jìn)行對比;
55、判斷字段是否相同;
55.1、若是,則輸出字段相符的對比結(jié)果,從源文件中選取下一個(gè)元素再執(zhí)行步驟S4.1 ;
若否,則執(zhí)行步驟S6;
56、判斷對比文件中是否包含其他元素;
若是,則從對比文件中選取下一個(gè)元素再執(zhí)行步驟S4.1 ;
若否,則執(zhí)行步驟S7; S7、判斷源文件中是否包含其他元素;
若是,則從源文件中選取下一個(gè)元素再執(zhí)行步驟S4.1 ;
57.1、若否,則輸出字段不相符的對比結(jié)果。
[0006]所述的步驟SI中還包含一步驟S1.1:
S1.1、判斷源文件是否為xml格式;
若是,則執(zhí)行步驟S2 ;
S1.1.1、若否,則輸出源文件為無效文件的結(jié)果。
[0007]所述的步驟SI還包含與一步驟S1.2:
S1.2、判斷對比文件是否為xml格式;
若是,則執(zhí)行步驟S2 ;
S1.2.1、若否,則輸出對比文件為無效文件的結(jié)果。
[0008]核對APK內(nèi)多國語言的方法進(jìn)一步包含一與所述步驟S4.1并列的步驟S4.2:
S4.2.1、解析字典文件,獲取字典內(nèi)容,新建一個(gè)ExlContent字符串構(gòu)成的List,并將字典內(nèi)容的第一列及第二列分別存入ExlContent字符串中的Rowl和Row2 ;
S4.2.2、獲取源文件中的一個(gè)元素對應(yīng)的srcText字段;
S4.2.3、獲對比文件中的一個(gè)節(jié)點(diǎn)對應(yīng)的contrastText字段;
S4.2.4、將 srcText 字段與 contrastText 字段分別與 RowK Row2 對比;
S4.2.5、判斷是否有相符的字符串;
若否,則輸出字典對比結(jié)果;
若是,則返回步驟S4.2.4。
[0009]所述的S4.2.1之前還包含步驟S4.2.0:
54.2.0、判斷字典文件是否為xls格式;
若是,則執(zhí)行步驟S4.2.1 ;
若否,則輸出字典文件為無效文件的結(jié)果。
[0010]核對APK內(nèi)多國語言的方法進(jìn)一步包含一與所述步驟S5.1并列的步驟S5.2:
55.2.1、將源文件List中該元素的label和srcText字段分別與字典文件中的Rowl、Row2對比;
S5.2.2、判斷字段是否相符;
若否,則輸出字段不相符的結(jié)果,再從源文件中獲取下一個(gè)元素后執(zhí)行步驟S5.2.1 ; 若是,則執(zhí)行步驟S5.2.3 ;
S5.2.3、判斷源文件中是否包含其他元素;
若是,則從源文件中選取下一個(gè)元素再執(zhí)行步驟S5.2.1 ;
若否,則輸出字段相符的結(jié)果。
[0011]所述的步驟S7.2之后還包含步驟S8.1:
58.1.1、將源文件List中該元素的label字段與對比文件中元素的label字段進(jìn)行對比;
S8.1.2、判斷字段是否相同;
若是,則執(zhí)行步驟S8.1.1 ;
若否,則輸出對比結(jié)果后上報(bào)至BUG庫。
[0012]所述的步驟S7.2之后還包含步驟S8.2:
S8.2.1、將對比文件List中該元素的label字段與源文件中元素的label字段進(jìn)行對比;
S8.2.2、判斷字段是否相同;
若是,則執(zhí)行步驟S8.1.1 ;
若否,則輸出對比結(jié)果后上報(bào)至BUG庫。
[0013]一種核對APK內(nèi)多國語言的系統(tǒng),其特點(diǎn)是,包含:
抓取模塊,用于抓取待測試的APK文件;
反編譯模塊,與所述抓取模塊連接,用于反編譯待測試的APK文件,以獲取對比文件及源文件;
格式校驗(yàn)?zāi)K,與所述反編譯模塊連接,用于校驗(yàn)對比文件及源文件的格式;
字段比對模塊,與所述格式校驗(yàn)?zāi)K連接,用于對比源文件與對比文件中的字段是否相同;
結(jié)果輸出模塊,與所述字段比對模塊連接,用于輸出字段比對模塊的結(jié)果;
存儲模塊,與所述結(jié)果輸出模塊連接,用于存儲對比結(jié)果。
[0014]核對APK內(nèi)多國語言的系統(tǒng)進(jìn)一步包含一顯示模塊,與所述存儲模塊連接,用于顯示對比結(jié)果。
[0015]本發(fā)明一種核對APK內(nèi)多國語言的方法及其系統(tǒng)與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):實(shí)現(xiàn)Values文件中string, xml文件之間的對比,測試效率高,準(zhǔn)確性高;通過與字典文件對比,可以找出字典文件的缺失,可以協(xié)助完善字典文件。
【附圖說明】
[0016]圖1為本發(fā)明一種核對APK內(nèi)多國語言的系統(tǒng)結(jié)構(gòu)框圖;
圖2為本發(fā)明一種核對APK內(nèi)多國語言的方法的流程圖;
圖3為步驟S4.2的流程圖;
圖4為步驟S5.2的流程圖。
【具體實(shí)施方式】
[0017]以下結(jié)合附圖,通過詳細(xì)說明一個(gè)較佳的具體實(shí)施例,對本發(fā)明做進(jìn)一步闡述。
[0018]如圖1 一種核對APK內(nèi)多國語言的系統(tǒng),包含:抓取模塊1,用于抓取待測試的APK文件;反編譯模塊2,與所述抓取模塊I連接,用于反編譯待測試的APK文件,以獲取對比文件及源文件;格式校驗(yàn)?zāi)K3,與所述反編譯模塊2連接,用于校驗(yàn)對比文件及源文件的格式;字段比對模塊4,與所述格式校驗(yàn)?zāi)K3連接,用于對比源文件與對比文件中的字段是否相同;結(jié)果輸出模塊5,與所述字段比對模塊4連接,用于輸出字段比對模塊4的結(jié)果;存儲模塊6,與所述結(jié)果輸出模塊5連接,用于存儲對比結(jié)果;顯示模塊7,與所述存儲模塊6連接,用于顯示對比結(jié)果。
[0019]如圖2所示,一種核對APK內(nèi)多國語言的方法,包含以下步驟:
S1、抓取待測試的APK文件,并對待測試的APK文件進(jìn)行反編譯以獲得對比文件及源文件。
[0020]利用adb 命令,在 CMD 命令行中輸入 adb pull /system/app/〈file.apk><dir> (〈file.apk>代表了要反測試的APK文件,最好寫絕對路徑,比如C:\MusicPlayer.apk〈dir>代表了復(fù)制后文件的存儲位置,比如C:\MusicPlayer)命令,將要測試的APK從手機(jī)復(fù)制到PC端。
[0021]利用谷歌官方解包工具APKTooI,在CMD命令行中輸入apktool d -f〈file.apkXdir〉(〈file.apk>代表了要反測試的APK文件,最好寫絕對路徑,比如C: \MusicPlayer.apk<dir>代表了反編譯后的文件的存儲位置,比如C:\MusicPlayer)得到反編譯后的APK文件文件內(nèi)容。
[0022]S1.1、判斷源文件是否為xml格式;
若是,則執(zhí)行步驟S2 ;
S1.1.1、若否,則輸出源文件為無效文件的結(jié)果。
[0023]S1.2、判斷對比文件是否為xml格式;
若是,則執(zhí)行步驟S2 ;
S1.2.1、若否,則輸出對比文件為無效文件的結(jié)果。
[0024]這里步驟S1.1與步驟S1.2沒有先后順序。
[0025]S2、解析對比文件,獲取對比文件中所有節(jié)點(diǎn)的屬性名和內(nèi)容字符串,新建一個(gè)MapFile字段構(gòu)成的List,并將節(jié)點(diǎn)的屬性名和內(nèi)容字符串分別存入MapFile字段的label和 contrastText。
[0026]選擇上步解包后的文件夾中res文件夾,選擇里面Values文件夾,選擇里面string, xml文件,成功后程序界面會顯示選擇的對比文件地址(對比文件一般選擇Values或是Values-GB,應(yīng)為android默認(rèn)語言為英文。選擇Values可以得到對比默認(rèn)狀態(tài)中沒有翻譯的節(jié)點(diǎn),選擇Values-GB則是為了和英文對比)。xml內(nèi)容解析,取得節(jié)點(diǎn)的屬性名和內(nèi)容字符串,新建立個(gè)MapFile字段構(gòu)成的List,將屬性名和內(nèi)容字符串依次放入MapFile字段的 Iebel 和 contrastText。
[0027]S3、解析源文件,獲取源文件中所有節(jié)點(diǎn)的屬性名和內(nèi)容字符串,新建一個(gè)MapFile字段構(gòu)成的List,并將節(jié)點(diǎn)的屬性名和內(nèi)容字符串分別存入MapFile字段的label和 srcTextο
[0028]選擇上步解包后的文件夾中res文件夾,選擇里面要測試國家語言的Values文件夾(如法語為Values-fr。德語為Values_de,具體見工具中的語言對應(yīng)表.xls),選擇里面string, xml文件,成功后程序界面會顯示選擇的源文件地址。工具新建立個(gè)MapFile字段構(gòu)成的List,將屬性名和內(nèi)容字符串依次放入MapFile字段的Iebel和srcText。
[0029]S4.1、獲取源文件List中的一個(gè)元素,將該元素中的label和srcText字段與對比文件中一個(gè)元素的label和contrastText字段進(jìn)行對比;
如圖3所示,步驟S4.2與步驟S4.1并列包含:
S4.2.0、判斷字典文件是否為xls格式;
若是,則執(zhí)行步驟S4.2.1 ;
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1