精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Atlas:手淘Native容器化框架和思考

開發 架構 開源
本文將介紹Atlas的設計思路和手淘對容器化、組件化和動態化上的思考,主要內容來自阿里巴巴資深技術專家倪生華(玄黎)在2016杭州云棲大會上的分享。

在剛剛過去的云棲大會上,手淘宣布其移動容器化框架Atlas將于2017年年初開源,對這個框架,在過去團隊對外部做過一些分享,外界也一直對其十分關注,到現在它終于即將開源了。

本文將介紹Atlas的設計思路和手淘對容器化、組件化和動態化上的思考,主要內容來自阿里巴巴資深技術專家倪生華(玄黎)在2016杭州云棲大會上的分享。

Atlas是什么

2013年,手淘航母戰略的制定,帶來了業務和開發人員的翻倍膨脹。從不到100人猛增四五倍,同時業務數量大增,整個客戶端的架構和發版節奏受到極大挑戰,Atlas作為之前手淘客戶端的基礎框架,進行了一次大的重構,形成了今天的Atlas。

Atlas是一個Android客戶端容器化框架,主要提供了組件化、動態性、解耦化的支持。支持工程師在工程編碼期、Apk運行期以及后續運維修復期的各種問題。

  • 在工程期,實現工程獨立開發,調試的功能,工程模塊獨立。
  • 在運行期,實現完整的組件生命周期的映射,類隔離等機制。
  • 在運維期,提供快速增量的更新修復能力,快速升級。

Atlas是工程期和運行期共同起作用的框架,它的特點是盡量將一些工作放到工程期,這樣來保證運行期的簡單,穩定。

目前,Atlas在淘系App的應用十分廣泛,手淘自身超過60+業務組件、20個協作團隊,以及百萬行級別代碼都在Atlas上運行,其快速迭代能力讓應用的發布周期從每月到每周再到隨時發布,在過去半年里就發布了446次。另外Atlas本身非常輕量,只有90多個類,支持大小型App開發,從大型的手淘到相對小型的阿里健康等都是用的這個框架。其穩定性也接受了考驗,兼容Android 4.x以上系統版本。整體手淘的Crash率一直維持在萬分之五左右,因為容器導致的crash占比小于百分之一。

從這個意義上來說,Atlas首先要解決的問題是大規模團隊的協作問題,訴求包括并行開發、快速迭代、工程解耦,然后解決的問題是客戶端動態更新的問題。手淘內部思考的解決方案就是組件化。

Atlas組件化實現

組件化,業界稱為插件化,不過這里Atlas的組件化和現在的插件化有一些不一樣的地方。組件化是需要去知道組件的功能,設計更規范。

(手淘APK包目錄結構)

這是一個手機淘寶的APK包,***層目錄上與標準的APK是完全一樣的,在APP會有很多的so文件,如果解開來看的話,它的結構類似于完整的APK,但本身并不能獨立運行,它跟很多插件化的差別是在運行期,它是運行在整個容器里的,每一個組件都是獨立的Bundle。

從模塊來劃分,手淘APK可以分為兩層,上層是經過拆分的業務Bundle,掃碼、評價、詳情,各個業務之間可以進行功能的調用,可以通過路由調度到其他業務方。下層是共享的底層中間件,向業務方開放各種能力,如網絡庫、圖片庫等,會在容器里進行統一地把控,這樣做的好處是包做到盡可能小,第二是性能佳。

這一塊是Atlas的整體設計,分為五層:

***層我們稱之為Hack層,包括OS Hack toolkit & verifier,這里我們對系統能力做一些擴展,然后做一些安全校驗。

第二層是Bundle Franework,就是我們的容器基礎框架,提供Bundle管理、加載、生命周期、安全等一些最基本的能力。

第三層是運行期管理層,包括清單,我們會把所有的Bundle和它們的能力列在一個清單上,在調用時方便查找;另外是版本管理,會對所有Bundle的版本進行管理;再就是代理,這里就是和業界一些插件化框架機制類似的地方,我們會代理系統的運行環境,讓Bundle運行在我們的容器框架上;然后還有調試和監控工具,是為了方便工程期開發調試。

第四層是業務層了,這里我們向業務方暴露了一些接口,如框架生命周期、配置文件、工具庫等等。

最上面一層是應用接入層,就是我們的業務代碼了。

所以Atlas作為一個框架提供了相對完整的能力,業務層的開發可以在框架生命周期的各個環節做一些自定義的動作,也可以自由的調用系統、框架,乃至其它組件釋放的能力。

組件化技術細節

前面講的是容器層面的比較概要的東西,下面我們會講一些具體的細節。

關于Bundle的生命周期會提供細粒度的節點,比如下面是一個Bundle從加載到運行的周期:

  • startInstall:開始加載。這個時候框架會做一些拷貝文件、釋放lib、加載Bundle的事情;
  • Installed:加載完畢。這時框架會注入資源路徑,創建class loader;
  • resolved:解析完畢,框架會檢查組件配置是否合法,是否能被解析;
  • active:運行組件,即開始運行組件Bundle;
  • started:運行成功。

組件化涉及到的***個問題是Manifest處理,一個是因為來源很多,有宿主Manifest、Aar Manifest以及組件Manifest,另外不同組件的Manifest經常發生變化,要求我們靈活地去處理。這里的做法是在工程期將所有的Manifest進行Merge操作,這里需要注意的是Bundle的依賴單獨Merge,因為這里涉及到依賴仲裁的問題。***解析各個Bundle的Merge Manifest,得到整包的BundleInfoList,就是上面我們提到的Bundle信息清單。

第二個是類加載,這里利用Delegate ClassLoader來動態加載組件的類。Delegate ClassLoader先查找宿主Bundle的PathClassLoader,然后根據前面的BundleList找到對應的BundleClassLoader.

第三個是資源,我們會用自己的DelegeteResources替換掉系統的resource,Bundle的資源會逐個在安裝的時候添加到AssertPath,由于添加Bundle的順序非固定,不分區會導致資源查找錯亂。

另外,Dalvik和ART上的資源查找過程順序是不一樣的,加上小米等系統會重寫自己的resources,所以我們會適配不同的機型,往后追加AssetsPath或者往前追加,系統AssetManager是個單例,默認往后追加,如果往前追加,則需要重新創建AssetsManager對象,同樣主dex動態部署的時候要達到替換原有resource的目的,必須保證插入順序與查找順序一致。

還有需要注意的是,每次更新resourceTable的時候,必須保證apkresource,runtime的系統resource,例如webview,bundle resource都已經添加成功,而且唯一,順序正確。

不同Bundle的資源可能發生命名沖突,我們是用了一種相對來說簡單的方法,將各自的Bundle分配成不同的ID,保證所有的業務資源不會產生沖突,盡量將問題放到工程期解決。在很多代碼里,通過反射來調用整個資源,在5.0以上的系統是沒有問題的,它只找***個,對業務代碼而言,原來是怎么寫的,今天還是怎么去寫。

關于組件化性能這一部分,我們引入了按需加載,因為手淘APK有70多個Bundle,每個用戶真正用的時候只需要5或10個,所以不需要加載所有的Bundle。Bundle之間進行隔離,通過Android四大原生組件進行交互,這樣Bundle之間可以比較好的解耦。我們所有調用的入口都是基于BundleInfolist去做的,根據這個清單信息,得到組件所在Bundle,如果需要加載,我們就進行install、dexopt等操作。

另外,對于解決組件依賴問題,定義了兩種新的組件格式Awb(業務Bundle)和solib(so庫),前者與AAR一致,不過不添加本地lib,在構建的時候做依賴仲裁區分,后者是Native so庫的依賴。Awb其實就是AAR,只是后綴修改了,如果你的包放在宿主Bundle就用AAR,如果是組件Bundle就用Awb。

對于業務Bundle的依賴,我們在構建期會將宿主Bundle和業務Bundle及其依賴分別打包,然后按照最短路徑、***聲明原則進行樹狀仲裁,得到每個Bundle需要的依賴,在打包的時候會將依賴庫放到各自的Bundle里去。

***是APK構建,我們對它做了比較大的調整。上面的圖中,其實左邊這一部分是一個標準的APK的構建過程,包括處理,編譯,到簽名的過程。我們這個不同的地方是多了Awb需要特殊處理,其中Awb的資源根據宿主的resource.ap_和包內資源構建,R文件由Bundle R資源和宿主R資源合并而來,然后我們對Aapt進行了修改,對每個awb分配不同的packageId,然后進行統一混淆,生產各個AWB的Dex,打包為APK,簽名之后復制到libs,改名為so文件,然后合并到taobao APK. 這就是我們組件化的整個過程。

Atlas動態化

在一個容器框架內,組件化和動態化是相輔相成的,組件只是解決了解耦的問題,但我們如果想要隨時發包,就必須讓容器框架具備動態化能力。我們在完成了Atlas的組件化之后,做了動態化的支持。動態化的好處一個是包的大小縮減,我們可以將一些包在運行后下載到應用中,另一個是具備動態發版和修復能力。

增量動態化方案

Atlas提供了動態部署的能力,主要目標是動態業務發布,以及問題修復。它基于手淘自研差量算法,主Bundle基于ClassLoader機制,業務Bundle基于差量merge,支持全業務類型。

另外,Atlas也支持Andfix作為插件使用,目標是快速故障修復,它的原理基于Native hook,主要做方法的修改,在實際中可以兩個一起用。在工程構建期適配之后,可以做到一套代碼兩套方案通用。

自研動態部署功能實現原理,首先,對于Dex Patch的生成,我們通過修改Dex的字節碼實現,將Dex文件轉為Smali,對其中的ClassDef和ClassDataMethod結構體進行分析,可以實現刪除、新增、修改類,然后通過Diff處理得到差量文件,再通過Merge處理即生成補丁。

其次是整個資源Patch的生成,分為兩塊,一個是業務Bundle,本來是一個不斷加載的過程,它實現起來會比較簡單,通過Md5 diff/BSDiff即可得到。對于主Bundle,因為安卓本身有一個限制,所有的資源必須得在base包里,新增一個資源是不生效的。所以一個做法是在打包的時候預留很多空資源。另外更新已有的資源則通過資源覆蓋來完成。

***,如果新加業務的話,會新加Activity,我們的做法首先在Manifest預埋一個StubActivity,然后在Instrumentation.execStartActivity()階段進行替換,同時配合Intent setFlag模擬Activity launch mode并繼續startActivity,接著System_server進程進行處理,更新ActivityStack,創建binder,并通知ActivityThread進行實例創建,***我們在ActivityThread的handler里面進行攔截,更新ActivityInfo等信息,創建目標Activity。

另外在工程實踐上,因為補丁的生成會涉及到Dex和資源的基線,我們會在部署的時候,每次發布APK包同步發布AP(基線包)到Maven,AP基線包里是所有影響基線的文件,***是安卓APK,第二是Mapping.txt,***是Dependency.txt,這樣的話整個構建的速度會非常的快。

所以我們這種方式,版本的升級是不同的方式。比如今天手淘的詳情要更新,會發布版本,這個版本可能不是到應用市場的版本,而是一個Patch包。業務版本的動態部署,我們是同步的,5.3.0到5.3.1到5.3.2,這樣一個好處是只要容器版本沒有升級,只要有需求,patch就可以一直升級,而且是無感知的差量升級。

周邊優化點

***來講講我們的周邊優化點,為什么到今天才說要開源,做的過程當中還是遇到了不少問題。

***點是Bundle的重復資源合并。因為我們發現,因為宿主問題,必然而然會出現沖突的問題,包括圖片資源,我們會放到整個宿主類目中去。

第二是Bundle的依賴校驗,以前是代碼的話,是編譯過的,但因為今天是二進制,這個問題會遺留到現場去,所以會看看API是否會影響Bundle。

第三是類庫“瘦身”,因為手淘依賴的各種中間件類庫太多了,導致手淘本身很臃腫,方法數很大;所以打包的時候對類庫有一個裁剪的過程,優化方法數。

第四是依賴導致的,依賴查詢庫。

第五是做Dex File等,進行混淆Mapping。

***是開源準備中,我們在工程期、運行期都會去做開源,并且將機制通過云服務的方式提供出來,阿里百川會提供Atlas的研發支撐能力,包括快捷的生成,發布,回滾,監控等能力。

責任編輯:龐桂玉 來源: 阿里百川
相關推薦

2017-03-14 15:14:16

互聯網

2015-11-02 23:07:03

手淘大數據阿里

2016-12-20 14:46:34

Android開源Weex

2017-12-24 21:00:10

自動化測試測試框架敏捷

2010-12-29 09:51:29

前端基礎框架

2022-05-25 10:47:01

淘寶開發模式

2013-11-11 09:26:50

編程思考

2011-05-19 15:15:58

自動化測試

2014-11-04 11:09:02

阿里無線淘寶

2016-10-21 15:58:51

容器容器技術Docker

2018-12-29 08:00:00

機器學習TensorFlowKubeflow

2023-08-23 15:18:06

云計算容器

2015-09-08 13:50:24

Web前端框架類庫

2014-10-22 10:50:14

Web前端

2021-01-12 09:38:02

微服務服務組合編排

2022-03-09 07:10:50

Quarkus框架項目

2024-10-22 09:59:36

虛擬化容器化系統

2019-03-22 14:38:03

容器安全隔離

2016-06-05 17:35:44

容器/虛擬化/東網科技

2024-02-20 01:53:01

ReactFlutter開發
點贊
收藏

51CTO技術棧公眾號

av中文字幕一区二区三区| 美女100%露胸无遮挡| 污视频网站免费在线观看| 国产不卡视频在线播放| 国语自产精品视频在线看一大j8 | 一区二区国产在线观看| 亚洲欧美一区二区三区在线| 国产野外作爱视频播放| 成人日批视频| 9l国产精品久久久久麻豆| 亲子乱一区二区三区电影| 一级在线观看视频| swag国产精品一区二区| 色综合久久久久久久久| 在线看视频不卡| 欧美一级片免费| 日本不卡视频在线| 欧美激情精品久久久久久变态| 成人无码www在线看免费| 国产第一亚洲| 亚洲一卡二卡三卡四卡无卡久久 | 国产欧美高清视频在线| 这里只有精品99re| 3d动漫一区二区三区| 成人动漫在线免费观看| 成人午夜在线免费| 国产精品久久久久aaaa九色| 欧美成人一区二区三区高清| 国产99久久精品一区二区300| 91麻豆精品久久久久蜜臀| 18禁免费观看网站| 最新日本在线观看| 国产欧美一区二区精品仙草咪| 不卡日韩av| 国产精品成人久久久| 亚洲第一精品影视| 久久久999精品| 伊人网伊人影院| 成人av资源网址| 欧美久久久久免费| 精品久久久久久久免费人妻| 黄页网站在线观看免费| 中文字幕制服丝袜成人av | 少妇久久久久久| 亚洲一区二区乱码| 亚洲精品观看| 9191久久久久久久久久久| 久久综合久久色| 无码小电影在线观看网站免费| 一区二区三区蜜桃| 97超碰免费观看| 国产大片在线免费观看| 久久日韩精品一区二区五区| 国产精品区免费视频| 国产农村妇女毛片精品| 久久av中文字幕片| 国产精品久久婷婷六月丁香| www.久久久久久久| 亚洲自啪免费| 97国产真实伦对白精彩视频8| 欧美成欧美va| 在线观看国产精品入口| 久久久国产视频91| 一级黄色片日本| 欧美1级片网站| 自拍视频国产精品| 懂色av粉嫩av浪潮av| 欧美在线色图| 亚洲色图偷窥自拍| 午夜在线观看一区| 国产午夜一区| 中文字幕亚洲欧美| 欧美日韩国产一二三区| 97人人精品| 久久亚洲综合国产精品99麻豆精品福利| 欧美性猛交xxxx乱大交少妇| 日韩啪啪电影网| 日韩中文字幕视频在线观看| 日韩在线不卡av| 一区二区三区国产精华| 色综合久久久888| 国产小视频在线观看免费| 亚洲国产精品第一区二区三区| 欧美激情一区二区三区高清视频 | 99re成人精品视频| 蜜桃999成人看片在线观看| 婷婷婷国产在线视频| 91在线国内视频| 欧美日韩综合网| 成年午夜在线| 亚洲色图视频网站| 成年人视频网站免费| 精品三级久久| 在线免费亚洲电影| 国产探花在线看| 精品国产一区二区三区性色av| 精品国产麻豆免费人成网站| 久久国产精品无码一级毛片 | 天堂资源在线中文精品| 国产精品青青在线观看爽香蕉 | 成人久久电影| 久久精品国产99国产精品澳门| 91porn在线视频| 中文一区在线| 国产精品一区二区3区| 精品国产av鲁一鲁一区| gogo大胆日本视频一区| 日韩高清专区| av在线播放观看| 岛国视频午夜一区免费在线观看| 一道本视频在线观看| 天堂av一区| 亚洲人成网站色ww在线| 26uuu成人网| 国产精品久久久久久久免费软件| 国产日韩欧美影视| 黄色小视频免费在线观看| 国产亚洲成年网址在线观看| 午夜久久久久久久久久久| 狠狠躁少妇一区二区三区| 欧美日产在线观看| 亚洲自拍偷拍一区二区| 欧美精品一级| 国产精品视频99| 天堂网av2014| 亚洲欧美在线另类| 日本www高清视频| 亚洲一区二区免费在线观看| 国产小视频国产精品| 久草网在线观看| 麻豆精品一区二区三区| 精品国产乱码久久久久久蜜柚| 免费在线视频欧美| 在线免费观看视频一区| 亚洲少妇18p| 久久久久久久久久久9不雅视频| 欧洲美女免费图片一区| 欧美一级视频免费| 樱桃国产成人精品视频| 污视频网址在线观看| 亚洲va久久久噜噜噜久久| 欧美大片第1页| 中文字幕+乱码+中文字幕明步| 99久久国产综合精品色伊| 日本大片免费看| 日韩精品成人| 久久这里只有精品99| 伊人网站在线观看| 国产日韩三级在线| 日韩精品一区二区三区色欲av| 福利欧美精品在线| 欧美丰满片xxx777| 国产不卡av在线播放| 国产精品传媒视频| 亚洲精品手机在线观看| 久久激情电影| 国产精品吊钟奶在线| 日本福利午夜视频在线| 黑人巨大精品欧美一区二区三区| 欧洲熟妇的性久久久久久| 欧美精品不卡| 91精品国产99久久久久久红楼| 精品欧美色视频网站在线观看| 欧美日韩视频在线第一区| 日韩一级片在线免费观看| 日韩 欧美一区二区三区| 日韩啊v在线| 天然素人一区二区视频| 在线观看视频亚洲| 亚洲综合色av| 久久久久久国产精品久久| 免费视频一二三区| 国产激情偷乱视频一区二区三区| 亚洲一区二三| 永久免费观看精品视频| 久久精品国产清自在天天线| 欧美不卡在线播放| 人妖一区二区三区| 97超碰色婷婷| 欧美黄色小说| 欧美视频在线观看一区| 精品在线观看一区| 国产一区二区成人久久免费影院| 欧美精品一区二区性色a+v| 日本一区二区三区视频在线看| 欧美高清不卡在线| 头脑特工队2免费完整版在线观看| 色综合久久66| 香蕉久久久久久久| 国产成人在线色| 婷婷无套内射影院| 国产精品中文字幕亚洲欧美| 国产精品一二三在线| 亚洲性图自拍| 日韩精品在线电影| 伊人网中文字幕| 亚洲综合免费观看高清在线观看| www.超碰97| 麻豆成人综合网| 99久久久精品视频| 精品国产精品国产偷麻豆| 国产一区二区在线免费| 日本三级在线观看网站| 亚洲人成电影网| 国产情侣自拍小视频| 精品露脸国产偷人在视频| 老司机精品免费视频| aaa亚洲精品一二三区| 婷婷激情四射五月天| 亚洲特色特黄| 亚洲国产午夜伦理片大全在线观看网站 | 3d成人动漫在线| 日韩精品自拍偷拍| 国产一级片免费视频| 一二三区精品福利视频| 免费看91的网站| 成人国产精品免费观看动漫| 亚洲天堂网一区| 99精品视频免费| 综合视频免费看| 亚洲深夜福利在线观看| 亚洲综合色激情五月| av免费在线一区| 日批视频免费观看| 清纯唯美综合亚洲| 国产精品一区免费在线观看| 91精品国产成人www| 成人影院免费观看| 欧美成人国产一区二区| 国产情侣免费视频| 天天影视色香欲综合网老头| 日韩av手机在线免费观看| 久久久亚洲综合| 911亚洲精选| 九九**精品视频免费播放| 日韩中文字幕二区| 日韩午夜av在线| 日本免费黄色小视频| 日韩在线二区| 欧美在线一二三区| 国产精品x8x8一区二区| 91精品视频观看| 日韩一区二区三区免费视频| 91精品国产91久久久久久| 最新日本在线观看| 久久精品亚洲国产| 91.xxx.高清在线| 亚洲欧洲黄色网| 亚洲日本在线播放| 亚洲大尺度美女在线| 亚洲大尺度视频| 日韩三级av在线播放| 一卡二卡三卡在线观看| 精品视频123区在线观看| www毛片com| 色综合欧美在线视频区| 午夜精品三级久久久有码| 亚洲视频狠狠干| 午夜国产福利一区二区| 亚洲色图视频网站| 国内偷拍精品视频| 亚洲激情图片qvod| 免费一级片在线观看| 亚洲一区二区不卡免费| 激情小说中文字幕| 亚洲午夜久久久久久久久电影网| 久久久美女视频| 亚洲高清中文字幕| 在线能看的av| 色噜噜狠狠色综合欧洲selulu| 国产suv精品一区二区33| 欧美性一级生活| 一级黄色片在线观看| 欧美一区二区免费观在线| 亚洲爱情岛论坛永久| 亚洲国产一区自拍| 视频一区二区在线播放| 亚洲人成电影在线观看天堂色| 二区在线视频| 久久久黄色av| 免费不卡av| 啪一啪鲁一鲁2019在线视频| 日韩a**中文字幕| 国产欧美最新羞羞视频在线观看| 国产精品日本一区二区三区在线| 69174成人网| 婷婷激情久久| 亚州欧美一区三区三区在线| 亚洲91久久| 东北少妇不带套对白| 小嫩嫩精品导航| 97超碰人人爽| 成人免费视频app| 亚洲成人网在线播放| 国产精品久久久久久久浪潮网站| 国产亚洲精品久久777777| 精品日韩视频在线观看| 中文字幕在线播放av| 日韩一级免费观看| 国产午夜精品一区理论片| 日韩一区二区精品视频| 国产第一页在线视频| 国产不卡一区二区在线播放| 电影中文字幕一区二区| 久久精品国产第一区二区三区最新章节 | www.偷拍.com| 91偷拍与自偷拍精品| 婷婷国产成人精品视频| 五月婷婷激情综合网| 亚洲天堂网视频| 日韩精品在线观看网站| 国产网站在线免费观看| 日韩女在线观看| 亚洲日本va午夜在线电影| 色一情一乱一伦一区二区三区丨| 国内精品美女在线观看| 15—17女人毛片| thepron国产精品| 紧身裙女教师波多野结衣| 在线亚洲高清视频| 天天色综合久久| 久久中国妇女中文字幕| 精品欧美一区二区三区在线观看 | 亚洲av无码一区二区三区人| 一区二区三区国产| 亚洲中文字幕一区二区| 亚洲欧美成人一区二区在线电影| 青春草视频在线| 成人黄色片在线| 国精一区二区| 自慰无码一区二区三区| 国产福利一区二区三区| 欧美一区免费观看| 欧美熟乱第一页| 久久电影视频| 2018日韩中文字幕| 荡女精品导航| 久久久久久久久久伊人| 老司机一区二区| 少妇精品无码一区二区免费视频 | 樱花视频在线免费观看| 日韩黄色在线免费观看| 成人在线免费观看黄色| 成人欧美一区二区| 正在播放日韩欧美一页| 日韩欧美亚洲另类| 国产精品久久久久久久久动漫 | 午夜精品久久久久久久99热浪潮 | 少妇熟女视频一区二区三区| 最新日韩av在线| 亚洲视频久久久| 自拍视频国产精品| 日韩一级特黄| 国产日本欧美在线| 国内精品伊人久久久久av一坑| 殴美一级黄色片| 欧美人xxxx| 免费a级在线播放| 91久久精品美女高潮| 一区二区影视| 日批视频在线看| 亚洲最新视频在线观看| 亚洲精品一区二区三区蜜桃| 欧美高清视频免费观看| 久久精品亚洲成在人线av网址| 亚洲午夜精品久久久久久人妖| 97精品超碰一区二区三区| 久久夜靖品2区| 日韩精品中文字| 欧美三级精品| 永久域名在线精品| 国产精品综合av一区二区国产馆| 妺妺窝人体色www聚色窝仙踪| 亚洲国产成人av在线| 交100部在线观看| 欧洲一区二区在线观看| 另类小说欧美激情| 免费一级片在线观看| 日韩精品在线私人| 国产欧美自拍| 成人区一区二区| 91网址在线看| 中文字幕在线观看1| 免费不卡欧美自拍视频| 四虎影院在线播放| 久久久精品日韩欧美| 国产午夜精品无码| 亚洲欧美中文在线视频| 欧美国产日韩电影| 2021狠狠干| 2021国产精品久久精品| 亚洲图片中文字幕| 美女少妇精品视频| 亚洲欧洲av| 久久精品国产99久久99久久久| 亚洲成va人在线观看| 国产粉嫩一区二区三区在线观看| 69174成人网| 麻豆成人精品| jizz亚洲少妇|