2018-07-03

一,環(huán)境準(zhǔn)備工作

1事期, jdk環(huán)境

a滥壕,cts上:在android n之前需要jdk 1.7環(huán)境即可,在android n上需要使用jdk 1.8

b兽泣,在gts4.1-r1之后都需要使用jdk 1.8的環(huán)境

可以使用導(dǎo)入臨時(shí)環(huán)境變量的方法將當(dāng)前窗口的jdk環(huán)境配置成jdk 1.8绎橘,使用如下命令即可:

export JAVA_HOME=(此處填寫jdk所在路徑例如:/usr/lib/jvm/jdk1.8.0_121)

export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

export PATH=JAVA_HOME/bin:PATH

2,cts,gts 工具包

從google官網(wǎng)上獲取當(dāng)前最新的cts以及gts工具包

https://source.android.com/compatibility/cts/downloads

[圖片上傳失敗...(image-be2f95-1530601444956)]

如上圖所示称鳞,先選擇android 版本號(hào)涮较,在進(jìn)行下載最新的工具,正常我們都下載ARM的工具包

由于google的cts工具有截止時(shí)間冈止,故需要經(jīng)常上該網(wǎng)站查看最新的版本狂票,在該網(wǎng)站下載的工具都是最新的

3,media 包

跑cts的時(shí)候熙暴,需要在手機(jī)中導(dǎo)入media的包以支持跑media相關(guān)的case闺属,該media資源包也在https://source.android.com/compatibility/cts/downloads 進(jìn)行下載,下載解壓后只要運(yùn)行其中的copy_media.sh腳本即可自動(dòng)拷貝進(jìn)手機(jī)了(需要賦予該腳本執(zhí)行權(quán)限之后才可以執(zhí)行)周霉,若需要拷貝至多個(gè)手機(jī)在一臺(tái)電腦上掂器,只需要在腳本后面加all例如:

./copy_media.sh all

這樣就可以將media包分別拷貝到當(dāng)前連接的所有手機(jī)中

4,手機(jī)設(shè)置

基本電腦環(huán)境配置好之后俱箱,需要進(jìn)行手機(jī)上的配置唉匾,具體詳細(xì)的可以查詢?nèi)缦戮W(wǎng)站:

https://source.android.com/compatibility/cts/setup

也可以進(jìn)行查看附件的文檔 [圖片上傳失敗...(image-5b0c2e-1530601444956)] ,建議去網(wǎng)站上查看匠楚,因?yàn)榫W(wǎng)站上比較準(zhǔn)確,而且實(shí)時(shí)更新

二 執(zhí)行CTS/GTS的一些命令

1厂财,整跑

整跑cts的命令非常簡(jiǎn)單如下:

run cts

當(dāng)前只有一臺(tái)手機(jī)的時(shí)候直接使用該命令即可芋簿,若多臺(tái)手機(jī)直接使用

run cts -s devicename (devicename 為使用adb devices 后查看到的devices name)

若使用多臺(tái)手機(jī)跑cts 則需要使用shards 進(jìn)行跑,如下:

run cts --shards n -s devicesname1 -s devicesname2 ....

shards 后面跟隨的參數(shù)為參與整跑的手機(jī)數(shù)量

2璃饱,retry 未完成的報(bào)告

使用l r查看需要retry的報(bào)告的session id 与斤,如下:

[圖片上傳失敗...(image-6adf8b-1530601444956)]

使用如下命令:

run cts --retry sessionid -s devicesname

其中需要注意:

1),retry的手機(jī)必須為之前報(bào)告的手機(jī)或者手機(jī)之一

2),跑的兩個(gè)版本必須一樣(fingerprint必須一致)

3,單跑的命令

例如報(bào)告如下:

[圖片上傳失敗...(image-1ecd47-1530601444956)]

我們跑該case的命令如下:

run gts -m GtsMediaTestCases -t com.google.android.media.gts.WidevineGenericOpsTests#testL1

若我們需要跑單包荚恶,則

run cts -m modoulesname即可撩穿,moudlesname 在報(bào)告的上可以查看

具體的詳細(xì)命令可以通過終端help命令查看,如下:

[圖片上傳失敗...(image-33bcb0-1530601444956)]

gts的命令和cts基本一致谒撼,只是需要將cts改成gts即可食寡,如下:

run gts -m modulesname

三,送測(cè)需求

1廓潜,asus android N的送測(cè)抵皱,需要如下文件:

1),CTS報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

2),GTS報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

3),CTS-V報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

4),AFW報(bào)告

5),check list報(bào)告(該checklist為asus特有的,滿足要求后可以大概率獲得google 的approve)

2辩蛋,聯(lián)想的送測(cè)和asus的不太一致呻畸。具體文件清單如下:

1),CTS報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

2),GTS報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

3),CTS-V報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

4),AFW報(bào)告

5),FRP (該需求為聯(lián)想特有,主要為開機(jī)向?qū)Ы貓D):

[圖片上傳失敗...(image-dcd3c0-1530601444956)]

6),手機(jī)prop屬性的文件

其中1-4的文件為google需求的文件悼院,后續(xù)為客戶特有的一些文件

3伤为,關(guān)于cts,gts報(bào)告送測(cè)規(guī)則:

由于android 升級(jí)到N之后据途,cts的case大大的增加了绞愚,在M上只有十幾萬(wàn)條case(6.0-r12上127000+條左右)叙甸,然而在N上有430000+條的case,導(dǎo)致整跑的難度也大大的增加了爽醋,導(dǎo)致目前送測(cè)規(guī)則也發(fā)生了變化:

M的送測(cè)規(guī)則:由于M的工具不支持retry的命令蚁署,故需要重新建立plan進(jìn)行retry

ps:M的整跑命令為run cts --plan CTS ,CTS代表整跑的plan蚂四,之后需要將上一次的fail項(xiàng)重新建立一個(gè)plan光戈,然后進(jìn)行跑該plan,且最多只能建立三個(gè)plan就不能建立了(由于超過三個(gè)plan會(huì)有大概率被google reject)遂赠。

N的送測(cè)規(guī)則:android N支持retry的命令久妆,故直接將最后一份retry 全pass的報(bào)告送測(cè)即可,由于asus需要確認(rèn)報(bào)告的可靠性跷睦,故他們需要完整的retry報(bào)告

四筷弦,關(guān)于本次ZQL1516 CTS送測(cè)的一些問題

1,CTS

本次cts送測(cè)過程十分曲折抑诸,原計(jì)劃2017/4/4需要將首輪全pass的報(bào)告給到asus烂琴,由于種種原因,導(dǎo)致最后5/15才將首輪報(bào)告送測(cè)出去蜕乡,下面詳細(xì)列舉本次cts報(bào)告的問題:

1),整跑卡住奸绷,并卡在asus卡機(jī)界面,cts卡在同一個(gè)包內(nèi)

該問題最終花費(fèi)十個(gè)工作日左右才解決层玲,最終判斷出根因是由于asus simcontact.apk以及在frameworks/base/中的修改導(dǎo)致無(wú)法繼續(xù)整跑

2),camera相關(guān)問題

由于camera的HAL1以及HAL3的切換問題号醉,導(dǎo)致camera的相關(guān)fail項(xiàng),最終我們將camera切換至HAL1辛块,同步關(guān)閉一批問題畔派,然后剩下幾個(gè)問題同步解決

3),media相關(guān)的問題

在最終MP版本軟件上,修改硬解碼相關(guān)配置文件润绵,導(dǎo)致cts media相關(guān)的fail

總結(jié):在重要版本發(fā)布的關(guān)鍵節(jié)點(diǎn)上线椰,我們對(duì)camera,media相關(guān)的修改尘盼,需要將camear以及media相關(guān)的包都跑一遍士嚎,以防止影響重要版本發(fā)布

2,GTS

本次送測(cè)過程中悔叽,GTS遇到的重大問題就是widevine相關(guān)的問題莱衩,由于導(dǎo)致secboot,widevine相關(guān)的文件需要進(jìn)行單獨(dú)簽名導(dǎo)致的相關(guān)fail

最終將對(duì)應(yīng)的文件進(jìn)行單獨(dú)簽名后娇澎,導(dǎo)入手機(jī)即可pass

3笨蚁,CTS-V

CTS-V的fail項(xiàng)主要和測(cè)試手法相關(guān),關(guān)于測(cè)試手法,我們需要詳細(xì)閱讀工具給的操作步驟括细,正常解決的cts-v的問題非常少伪很,只有一兩個(gè),大部分的問題都是由于測(cè)試手法造成的奋单,具體測(cè)試手法可以查看附件[圖片上傳失敗...(image-c3a3ac-1530601444956)]

4锉试,Checklist

由于之前和asus合作較少,導(dǎo)致我們一開始忽略了Checklist相關(guān)的內(nèi)容览濒,該項(xiàng)內(nèi)容主要是為了提升google approve 的概率而需要檢查的測(cè)試項(xiàng)呆盖,符合該checklist的東西之后能夠大概率的通過google approve,例如:

[圖片上傳失敗...(image-1c9b8f-1530601444954)]## 一,環(huán)境準(zhǔn)備工作

1贷笛, jdk環(huán)境

a应又,cts上:在android n之前需要jdk 1.7環(huán)境即可,在android n上需要使用jdk 1.8

b乏苦,在gts4.1-r1之后都需要使用jdk 1.8的環(huán)境

可以使用導(dǎo)入臨時(shí)環(huán)境變量的方法將當(dāng)前窗口的jdk環(huán)境配置成jdk 1.8株扛,使用如下命令即可:

export JAVA_HOME=(此處填寫jdk所在路徑例如:/usr/lib/jvm/jdk1.8.0_121)

export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

export PATH=JAVA_HOME/bin:PATH

2,cts汇荐,gts 工具包

從google官網(wǎng)上獲取當(dāng)前最新的cts以及gts工具包

https://source.android.com/compatibility/cts/downloads

[圖片上傳失敗...(image-b08b5c-1530601446496)]

如上圖所示洞就,先選擇android 版本號(hào),在進(jìn)行下載最新的工具掀淘,正常我們都下載ARM的工具包

由于google的cts工具有截止時(shí)間奖磁,故需要經(jīng)常上該網(wǎng)站查看最新的版本,在該網(wǎng)站下載的工具都是最新的

3繁疤,media 包

跑cts的時(shí)候,需要在手機(jī)中導(dǎo)入media的包以支持跑media相關(guān)的case秕狰,該media資源包也在https://source.android.com/compatibility/cts/downloads 進(jìn)行下載稠腊,下載解壓后只要運(yùn)行其中的copy_media.sh腳本即可自動(dòng)拷貝進(jìn)手機(jī)了(需要賦予該腳本執(zhí)行權(quán)限之后才可以執(zhí)行),若需要拷貝至多個(gè)手機(jī)在一臺(tái)電腦上鸣哀,只需要在腳本后面加all例如:

./copy_media.sh all

這樣就可以將media包分別拷貝到當(dāng)前連接的所有手機(jī)中

4架忌,手機(jī)設(shè)置

基本電腦環(huán)境配置好之后,需要進(jìn)行手機(jī)上的配置我衬,具體詳細(xì)的可以查詢?nèi)缦戮W(wǎng)站:

https://source.android.com/compatibility/cts/setup

也可以進(jìn)行查看附件的文檔 [圖片上傳失敗...(image-b92e0f-1530601446496)] 叹放,建議去網(wǎng)站上查看,因?yàn)榫W(wǎng)站上比較準(zhǔn)確挠羔,而且實(shí)時(shí)更新

二 執(zhí)行CTS/GTS的一些命令

1井仰,整跑

整跑cts的命令非常簡(jiǎn)單如下:

run cts

當(dāng)前只有一臺(tái)手機(jī)的時(shí)候直接使用該命令即可,若多臺(tái)手機(jī)直接使用

run cts -s devicename (devicename 為使用adb devices 后查看到的devices name)

若使用多臺(tái)手機(jī)跑cts 則需要使用shards 進(jìn)行跑破加,如下:

run cts --shards n -s devicesname1 -s devicesname2 ....

shards 后面跟隨的參數(shù)為參與整跑的手機(jī)數(shù)量

2俱恶,retry 未完成的報(bào)告

使用l r查看需要retry的報(bào)告的session id ,如下:

[圖片上傳失敗...(image-57921e-1530601446495)]

使用如下命令:

run cts --retry sessionid -s devicesname

其中需要注意:

1),retry的手機(jī)必須為之前報(bào)告的手機(jī)或者手機(jī)之一

2),跑的兩個(gè)版本必須一樣(fingerprint必須一致)

3,單跑的命令

例如報(bào)告如下:

[圖片上傳失敗...(image-7cbe2e-1530601446495)]

我們跑該case的命令如下:

run gts -m GtsMediaTestCases -t com.google.android.media.gts.WidevineGenericOpsTests#testL1

若我們需要跑單包合是,則

run cts -m modoulesname即可了罪,moudlesname 在報(bào)告的上可以查看

具體的詳細(xì)命令可以通過終端help命令查看,如下:

[圖片上傳失敗...(image-6dd95f-1530601446495)]

gts的命令和cts基本一致聪全,只是需要將cts改成gts即可泊藕,如下:

run gts -m modulesname

三,送測(cè)需求

1难礼,asus android N的送測(cè)娃圆,需要如下文件:

1),CTS報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

2),GTS報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

3),CTS-V報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

4),AFW報(bào)告

5),check list報(bào)告(該checklist為asus特有的,滿足要求后可以大概率獲得google 的approve)

2鹤竭,聯(lián)想的送測(cè)和asus的不太一致踊餐。具體文件清單如下:

1),CTS報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

2),GTS報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

3),CTS-V報(bào)告以及waive link(若有fail項(xiàng)且wailve的情況)

4),AFW報(bào)告

5),FRP (該需求為聯(lián)想特有,主要為開機(jī)向?qū)Ы貓D):

[圖片上傳失敗...(image-60327c-1530601446495)]

6),手機(jī)prop屬性的文件

其中1-4的文件為google需求的文件臀稚,后續(xù)為客戶特有的一些文件

3吝岭,關(guān)于cts,gts報(bào)告送測(cè)規(guī)則:

由于android 升級(jí)到N之后吧寺,cts的case大大的增加了窜管,在M上只有十幾萬(wàn)條case(6.0-r12上127000+條左右),然而在N上有430000+條的case稚机,導(dǎo)致整跑的難度也大大的增加了幕帆,導(dǎo)致目前送測(cè)規(guī)則也發(fā)生了變化:

M的送測(cè)規(guī)則:由于M的工具不支持retry的命令,故需要重新建立plan進(jìn)行retry

ps:M的整跑命令為run cts --plan CTS 赖条,CTS代表整跑的plan失乾,之后需要將上一次的fail項(xiàng)重新建立一個(gè)plan,然后進(jìn)行跑該plan纬乍,且最多只能建立三個(gè)plan就不能建立了(由于超過三個(gè)plan會(huì)有大概率被google reject)碱茁。

N的送測(cè)規(guī)則:android N支持retry的命令,故直接將最后一份retry 全pass的報(bào)告送測(cè)即可仿贬,由于asus需要確認(rèn)報(bào)告的可靠性纽竣,故他們需要完整的retry報(bào)告

四,關(guān)于本次ZQL1516 CTS送測(cè)的一些問題

1茧泪,CTS

本次cts送測(cè)過程十分曲折蜓氨,原計(jì)劃2017/4/4需要將首輪全pass的報(bào)告給到asus,由于種種原因队伟,導(dǎo)致最后5/15才將首輪報(bào)告送測(cè)出去穴吹,下面詳細(xì)列舉本次cts報(bào)告的問題:

1),整跑卡住,并卡在asus卡機(jī)界面嗜侮,cts卡在同一個(gè)包內(nèi)

該問題最終花費(fèi)十個(gè)工作日左右才解決刀荒,最終判斷出根因是由于asus simcontact.apk以及在frameworks/base/中的修改導(dǎo)致無(wú)法繼續(xù)整跑

2),camera相關(guān)問題

由于camera的HAL1以及HAL3的切換問題代嗤,導(dǎo)致camera的相關(guān)fail項(xiàng),最終我們將camera切換至HAL1缠借,同步關(guān)閉一批問題干毅,然后剩下幾個(gè)問題同步解決

3),media相關(guān)的問題

在最終MP版本軟件上,修改硬解碼相關(guān)配置文件泼返,導(dǎo)致cts media相關(guān)的fail

總結(jié):在重要版本發(fā)布的關(guān)鍵節(jié)點(diǎn)上硝逢,我們對(duì)camera,media相關(guān)的修改绅喉,需要將camear以及media相關(guān)的包都跑一遍渠鸽,以防止影響重要版本發(fā)布

2,GTS

本次送測(cè)過程中柴罐,GTS遇到的重大問題就是widevine相關(guān)的問題徽缚,由于導(dǎo)致secboot,widevine相關(guān)的文件需要進(jìn)行單獨(dú)簽名導(dǎo)致的相關(guān)fail

最終將對(duì)應(yīng)的文件進(jìn)行單獨(dú)簽名后革屠,導(dǎo)入手機(jī)即可pass

3凿试,CTS-V

CTS-V的fail項(xiàng)主要和測(cè)試手法相關(guān),關(guān)于測(cè)試手法似芝,我們需要詳細(xì)閱讀工具給的操作步驟那婉,正常解決的cts-v的問題非常少,只有一兩個(gè)党瓮,大部分的問題都是由于測(cè)試手法造成的详炬,具體測(cè)試手法可以查看附件[圖片上傳失敗...(image-3a097-1530601446494)]

4,Checklist

由于之前和asus合作較少寞奸,導(dǎo)致我們一開始忽略了Checklist相關(guān)的內(nèi)容呛谜,該項(xiàng)內(nèi)容主要是為了提升google approve 的概率而需要檢查的測(cè)試項(xiàng),符合該checklist的東西之后能夠大概率的通過google approve枪萄,例如:

[圖片上傳失敗...(image-26f8bd-1530601446494)]

該項(xiàng)測(cè)試檢查的是手機(jī)的dppi值以及屏幕的屬性隐岛,需要和cts工具讀取的手機(jī)參數(shù)一致才能pass,故該測(cè)試項(xiàng)fail需要驅(qū)動(dòng)屏幕的owner進(jìn)行修改

該項(xiàng)測(cè)試檢查的是手機(jī)的dppi值以及屏幕的屬性呻引,需要和cts工具讀取的手機(jī)參數(shù)一致才能pass,故該測(cè)試項(xiàng)fail需要驅(qū)動(dòng)屏幕的owner進(jìn)行修改

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吐咳,一起剝皮案震驚了整個(gè)濱河市逻悠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌韭脊,老刑警劉巖童谒,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異沪羔,居然都是意外死亡饥伊,警方通過查閱死者的電腦和手機(jī)象浑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來琅豆,“玉大人愉豺,你說我怎么就攤上這事∶R颍” “怎么了蚪拦?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)冻押。 經(jīng)常有香客問我驰贷,道長(zhǎng),這世上最難降的妖魔是什么洛巢? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任括袒,我火速辦了婚禮,結(jié)果婚禮上稿茉,老公的妹妹穿的比我還像新娘锹锰。我一直安慰自己,他們只是感情好狈邑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布城须。 她就那樣靜靜地躺著,像睡著了一般米苹。 火紅的嫁衣襯著肌膚如雪糕伐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天蘸嘶,我揣著相機(jī)與錄音良瞧,去河邊找鬼。 笑死训唱,一個(gè)胖子當(dāng)著我的面吹牛褥蚯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播况增,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼赞庶,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了澳骤?” 一聲冷哼從身側(cè)響起歧强,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎为肮,沒想到半個(gè)月后摊册,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颊艳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年茅特,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了忘分。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡白修,死狀恐怖妒峦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情熬荆,我是刑警寧澤舟山,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站卤恳,受9級(jí)特大地震影響累盗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜突琳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一若债、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拆融,春花似錦蠢琳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至趟脂,卻和暖如春泰讽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昔期。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工已卸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人硼一。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓累澡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親般贼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子愧哟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容