亭亭五月天在线观看,亭亭五月天在线观看,国产最新av一区二区,国产 高清 中文字幕,99re热久久亚洲综合精品成人,熟妇 一区二区三区,一级做a爰片性色毛片武则天,美女的骚穴视频播放,国产美女午夜免费视频

首頁>國內(nèi) > 正文

Android 插件化中資源錯亂的解決方案

2022-11-07 15:44:26來源:字節(jié)跳動技術(shù)團隊

摘要

本文介紹了 Android 插件化框架中,插件使用宿主資源時資源錯亂的問題,以及錯亂的原因、業(yè)界通用解決方案、我們提出的優(yōu)化方案。

本文將按照如下順序,循序漸進地進行講解:

簡單介紹 Android 插件化中資源部分的動態(tài)化。簡單介紹 Android 中的資源的一些基礎(chǔ)知識、使用方式及其編譯原理。介紹插件化場景下出現(xiàn)的資源錯亂問題及業(yè)界通用的解決方案。介紹一種新的方案——免資源固定方案,用于解決資源錯亂問題。單獨介紹一下免資源固定方案中的一個技術(shù)點:修改 apk 中的資源文件。1. Android 插件化中資源的動態(tài)化

Android 發(fā)展了這么多年,市面上涌現(xiàn)出許多插件化/熱修復(fù)框架,無論是插件化還是熱修復(fù),都是為了實現(xiàn)對主apk以外內(nèi)容的動態(tài)化,這些內(nèi)容包括 dex(class)、res(資源)、so(動態(tài)庫)等。對于每一種內(nèi)容,業(yè)界都有許多實現(xiàn)方案,盡管方案各不相同,但底層原理都差不多,網(wǎng)上也有許多文章和開源項目可以學(xué)習(xí)參考。


(相關(guān)資料圖)

名詞解釋

宿主:直接安裝到用戶手機上的 App,宿主中的代碼在宿主安裝到用戶手機上的那一刻就定死了,不能再改變了(熱修復(fù)也只是讓錯誤的邏輯不走而已,并沒有改變原有的代碼)。

插件:獨立于宿主之外的一個文件。需要被宿主動態(tài)加載的 class、res、so 等的集合。(熱修復(fù)中這部分通常稱為 patch,這里為了方便,就叫插件吧)

java代碼:為了描述方便,apk 中的 dex 在編譯前一律稱為 java 代碼,編譯后一律稱為 dex(這個說法不準確,不要被我誤導(dǎo)了,一般為java / kotlin- > class- > dex )

說到 Android 資源的動態(tài)化,思路都大同小異:

為每個插件創(chuàng)建一個 Resources 或者把插件的資源路徑添加到宿主 AssetManager,從而可以順利的加載到插件資源。插件編譯時通過配置 aapt2 參數(shù)對插件中資源 id 的 packageId 部分進行修改,保證插件與宿主資源 id 不沖突。對于插件中使用到的宿主資源,利用 aapt2 參數(shù)進行資源固定,保證宿主升級后插件使用到的宿主資源 id 不變。

aapt2 的出現(xiàn)使資源固定、packageId 修改變得容易了很多!

盡管 Android 資源的動態(tài)化技術(shù)已經(jīng)十分成熟,但是在實踐過程中還是有許多不足,比如“資源固定”就經(jīng)常被業(yè)務(wù)同學(xué)吐槽。

2. Android 中的資源介紹

在介紹資源固定之前,首先簡單介紹一下 Android 中資源相關(guān)的基礎(chǔ)知識。

2.1 Android 中的資源 id

Android 代碼在編譯成 apk 之后,每個資源都對應(yīng)一個唯一的資源 id,資源 id 是一個 8 位的 16 進制 int 值 0xPPTTEEEE :

PP :前兩位是 PackageId 字段,系統(tǒng)資源是 01,宿主資源 id 是 7f,其他如廠商自定義的皮膚包、webview 插件資源包會占用 02、03......,因此 App 資源和系統(tǒng)資源永遠不會沖突。市面上的插件框架為了保證插件和宿主資源不沖突,通常會把插件資源的 PP 改為其他值,如 7e、7d。TT :中間兩位是 TypeId 字段,表示資源的類型,如 anim、drawable、string 等,這塊沒有嚴格的對應(yīng)關(guān)系,通常是按照字母順序分配 type 值。EEEE :最后四位是 EntryId 字段,用于區(qū)分同一個 PackageId、同一個 TypeId 下不同 name 的資源,通常也是按照字母順序進行分配的。

注意:

資源 id 的分配默認是按資源的字母排序進行的,也就是說,當(dāng)新增一個 name 為 a 的資源,重新編譯之后,a 后面的同類型的資源 id 值都會被改變。aapt2 中提供了參數(shù)可以對資源 id 分配方式進行干預(yù),aapt2 會優(yōu)先按照參數(shù)中配置的對應(yīng)關(guān)系分配 id,這個技術(shù)我們稱之為資源固定,也是目前插件化框架在解決資源錯亂問題中用的最多的技術(shù)。2.2 Android 中的資源使用方式

Android 中使用資源通常有兩種方式:

在 java 代碼中通過 R 的內(nèi)部類進行訪問,具體語法為:
[].R..
在 xml 中通過符號使用,具體語法為:
@[:]/

xml 中也可以通過 ? 代替 @ 的形式引用樣式屬性。也可以引入自定義屬性,如 android:layout_width 。這兩種用法不影響下文的介紹。

那么這兩種方式有什么區(qū)別呢?

從代碼書寫的角度來說,都是通過一個資源名稱(resource_name)來訪問資源。我們反編譯一下 apk,看看編譯后是什么樣的。

分別在項目 app module、library module、xml 中編寫如下代碼

我們反編譯一下 apk,看看這三種代碼在 apk 中是如何表現(xiàn)的。

可以發(fā)現(xiàn) appTest 方法和 xml 中的資源變成了數(shù)字(0x7f0e0069),libTest 方法中的資源依舊是通過 Lcom/bytedance/lib/R$string;->test 訪問的

結(jié)論:

主 module 中引用的資源被編譯成了數(shù)值;子 module、aar 中通過 R 的內(nèi)部類間接引用數(shù)值;xml 中的資源 id 全部編譯成了數(shù)值。(看上圖中 xml 的屬性—— lay out_width 等依舊是字符串,其實它背后也是資源 id 數(shù)值,這塊的字符串其實是沒有用的,甚至在一些包體積優(yōu)化中可以直接去掉)。

那么為什么 libTest 方法中是通過 field 引用,而 appTest 中就變成數(shù)字了呢?

2.3 Android 中資源編譯的簡單流程

假設(shè)有一個工程,只有一個 app module,通過 maven 倉庫依賴若干三方 aar,項目編譯時的簡化流程如下圖:

下載三方 aar;將 app module 和三方 aar 中的資源經(jīng)過 aapt2 進行編譯、鏈接,最終生成R.jar和ap_R.jar 包含了最終打入 apk 的所有 R.class,每個依賴對應(yīng)一個。aapt2 也會默認按照字母排序為每個資源分配唯一的 id 值。注意:新增刪除一個資源都會導(dǎo)致它后面的資源 id 改變。aapt2 允許通過配置干預(yù) id 的分配。ap_ 文件中包含了所有編譯好的資源文件。App module 的 java 文件與 R.jar 一起被 javac 編譯。由于 R.jar 中的 field 都是 final,因此 app module 中通過 R 引用的資源全部被內(nèi)聯(lián)成了數(shù)值。而三方 aar 中由于已經(jīng)是 class,無需進行編譯,因此依舊是通過 R 引用來使用資源;最后把 app module 編譯出來的 .class、三方 aar 中的 .class 轉(zhuǎn)成 dex,與 ap_ 一起壓縮到 apk 中。

因此就很容易理解為啥 libTest 中依舊是通過 R 來使用資源,而 appTest 中通過數(shù)值直接引用(被內(nèi)聯(lián))。

libTest module 雖然被 app module 通過源碼依賴,但是在資源編譯這塊其實是類似的,這里不展開介紹。

2.4 總結(jié)

Android 中的資源的無論是通過 java 代碼使用還是 xml 使用,最終都是通過資源 id 值進行查找的。

把 apk 拖到 as 中,查看 resources.arsc 文件,可以看到它里面包含了 apk 中所有資源的 id 索引,以及該資源名對應(yīng)的真正資源或值。很容易想到,App 運行起來也是通過資源 id 值經(jīng)過這個資源表來查找真正的資源內(nèi)容。

3. 插件使用宿主資源3.1 插件如何使用宿主資源

想象一下,我們想要把 App 的直播功能做成一個插件動態(tài)下發(fā),直播功能所需要的大部分資源都在直播插件中,但是總有一些資源來自宿主,如一些通用的 UI 組件中包含的資源(support/androidx 庫)等。

那么,假設(shè)宿主中有一張圖片名為 icon,直播插件中的 xml 通過 @drawable/icon 引用了這張圖片,同時也在代碼中通過 R.drawable.icon 引用了它,實際直播插件中是沒有 icon 這張圖片的,它存在于宿主中。宿主編譯完后,按照前面的知識點,宿主中的 icon 對應(yīng)的數(shù)值被編譯成 0x7f010001。

插件本身也是一個 apk,根據(jù)前面介紹的知識點,插件編譯完成后,xml 中的 @drawable/icon 會編成一個數(shù)值(0x7f010001),java 代碼中的 R.drawable.icon 也會直接或間接編成一個數(shù)值(0x7f010001)。當(dāng)這個插件運行在宿主上,按照前面的介紹,插件會去查找 0x7f010001,發(fā)現(xiàn)可以找到,這樣就正確的使用了宿主資源。

插件編譯時我們會做一些處理,使插件中可以引用到宿主 id。

3.2 插件使用宿主資源有什么問題

前文介紹過,新增或刪除一個資源都可能導(dǎo)致其他許多資源的 id 被改變。

我們的宿主編譯出來后 icon 為 0x7f010001,基于已有的宿主編譯出一個插件后,插件中引用的 icon 也是 0x7f010001,此時沒什么問題。

宿主迭代后,新增了一個新的資源 aicon,按照前面介紹的資源 id 分配規(guī)則,新版本的宿主中 aicon 的 id 值為 0x7f010001,icon 的 id 值被分配為 0x7f010002。老版本的插件下發(fā)到新版本的宿主上時依舊會通過 0x7f010001去宿主中找 icon,自然就找錯了。運氣好一點可能只是圖片展示異常,運氣不好點可能就直接 crash 了。

3.3 如何解決這類問題

為了解決這個問題,業(yè)界目前有一個通用、穩(wěn)定的方案——資源固定。宿主編譯時通過 aapt2 提供的參數(shù)對插件使用到的資源進行固定,使宿主每次打包時這些資源的值永遠不發(fā)生改變。

資源固定方案的弊端:

一個插件對應(yīng)一個宿主的情況:必須把宿主的所有資源都進行固定。如果只固定插件使用的資源,當(dāng)一個宿主有兩個插件時,兩個插件各自給宿主固定自己需要的資源,在代碼合并時,很容易引發(fā)沖突,因為資源固定的值是不允許重復(fù)的;當(dāng)宿主接入多個涉及到資源固定的框架,如:插件化、資源熱修復(fù)、游戲重打包框架等,這些框架之間進行資源固定時也需要考慮統(tǒng)一固定,這個成本是很高的;資源固定提高了宿主接入框架的成本。一個插件運行在多個宿主的情況:

當(dāng)一個插件想要運行在多個宿主上,就需要每個宿主針對該插件的資源使用情況進行資源固定。一旦某個宿主已經(jīng)對某個資源進行了固定,導(dǎo)致其與該插件要求的資源固定產(chǎn)生沖突,插件就需要對該宿主進行妥協(xié),根據(jù)該宿主已有的資源固定重新生成固定規(guī)則。這樣就無法實現(xiàn)一個插件在多個宿主上運行。我們目前有一個需求:同一個插件需要在上千個宿主上運行,如果不能解決這個問題,可能需要打成百上千個插件出來,很明顯是不合理的;

資源固定提高了宿主接入框架的成本。

為了解決上述的問題,我們研究了一套新的方案解決資源錯亂問題。

4. 免資源固定方案

同一個版本的插件運行在不同版本甚至不同的 App 上時,插件的代碼是固定的,而宿主中的資源 id 是會改變的,為了解決資源錯亂問題,當(dāng)前的思路是保證宿主每次出新版本時資源 id 不變。那么有沒有辦法在不約束宿主的情況下,讓插件始終跟宿主的資源 id 保持一致呢?

由于插件打包時,宿主是未知的,并且對于一個插件跑在多個宿主的情況,宿主也是多樣的。所以沒法指定讓插件把 id 打成滿足宿主的樣子,而前文也介紹過,插件中引用宿主id的地方都是常量。那怎么辦呢?

是否可以在插件運行到宿主上時,動態(tài)修改插件中的內(nèi)容,實現(xiàn)插件與宿主 id 值匹配的效果。

比如插件中使用了宿主的資源 icon,對應(yīng)的 id 值為 0x7f010001。當(dāng)該插件運行在一個 icon 為 0x7f010002的宿主上時,由于運行時資源查找都是通過 id 值進行的,此時我們只能知道插件是在找一個 id 為 0x7f010001 的資源。通過某些手段,如果我們可以把 0x7f010001 映射成 icon 這個字符串,然后利用 Android 系統(tǒng)提供的Resources#getIdentifier方法,動態(tài)獲取到當(dāng)前宿主中 icon 對應(yīng)的資源 id,即可保證插件加載到正確的資源。

這個工作需要在插件編譯時、運行時分別做一些工作配合完成實現(xiàn)。

4.1 插件編譯時工作

本小節(jié)內(nèi)容基于 agp4.1 介紹,各個版本有些許差異,但總體思路大同小異。

前面介紹了,插件使用宿主資源主要有兩種情況:1.通過 java 代碼 2.通過 xml。

4.1.1 處理 java 代碼中引用宿主的資源

java 代碼在編譯成 class 之后,對于引用宿主資源 id 的代碼,有的會編譯成數(shù)值,有的依舊是通過 R 引用。對于后者,我們可以很容易找出來,對于前者就有些困難了,因為單純?nèi)呙?class 中 0x7f 開頭的數(shù)字,很容易誤判,把一個無意義的數(shù)字也當(dāng)作資源 id 處理。

前面講了為什么 class 中的資源 id 會內(nèi)聯(lián)成數(shù)值,那我們不讓它內(nèi)聯(lián)不就好了嗎?只需要在編譯過程中處理 R.jar,移除 class 中所有的 final 字段,就可以保證插件中引用宿主的資源 id 全部通過 R 進行引用。

這塊需要對 agp 的工作流程、gradle plugin 的開發(fā)有一定的了解,用到了 asm 字節(jié)碼修改技術(shù)和 agp 提供的 transform api,不了解的同學(xué)可以單獨查一下,這塊就不詳細介紹了。

簡單來說就是通過這兩項技術(shù),可以在編譯 apk 時,對 class 文件進行修改。

開始實踐

由于 R.jar 是在 processResourcesTask 中生成的,因此可以寫一個 gradle plugin,在 processResourcesTask 的 doLast 中獲取到 R.jar,修改 R.jar 中的字節(jié)碼,將 field 中的 id 為 0x7f 開頭的字段的 final 修飾符全部移除。這樣就可以保證插件 class 中所有引用宿主資源的地方都不會被內(nèi)聯(lián)成數(shù)值;經(jīng)過第一步的處理,插件中引用的宿主資源全部通過 R.xx.xx 來引用,但插件 R 中的數(shù)值依舊是無法與宿主對應(yīng)的。因此我們繼續(xù)寫一個 transform,掃描出插件中通過 R 引用資源的地方,利用 asm 將其從原來的 R 引用修改為方法調(diào)用。插件運行時,原本類似 R.drawable.test 的代碼不再是獲取一個常量數(shù)值,而是調(diào)用一個方法,內(nèi)部動態(tài)計算當(dāng)前宿主中對應(yīng)的值。?

總結(jié):

以上,通過編譯時的一些處理,即可解決插件 java 代碼中引用宿主資源時免資源固定的問題。

優(yōu)點:無需資源固定。缺點:插件中的部分資源不進行內(nèi)聯(lián),會使包體積有非常微小的增加,但是問題不大;插件引用宿主資源由原來的常量變成了方法調(diào)用,執(zhí)行效率降低,不過這塊可以通過緩存來解決。同時插件化本身就是一項黑科技技術(shù),有時候犧牲一些性能,解決一個問題還是非常值得的。4.1.2 處理 xml 代碼中引用宿主的資源

xml 中引用宿主資源的問題僅靠編譯時是無法解決的,因為 xml 不像 java 代碼一樣可以執(zhí)行邏輯,前面介紹了,xml 在編譯結(jié)束后,資源全部編成了數(shù)值,而我們在編譯時又無法知道未來運行在哪個宿主,值為多少。所以修改 xml 中資源id的工作只能搬到運行時去搞。當(dāng)然也需要在編譯時做一些事情,輔助運行時的修改操作。

運行時我們需要修改 apk 的xml 中 0x7f 開頭的資源,將其數(shù)值改為對應(yīng)當(dāng)前宿主的正確數(shù)值,而通過 xml,我們只能拿到一個數(shù)值,因此我們可以在插件編譯時收集插件 xml 中使用的宿主資源所在的 xml 文件以及它們所對應(yīng)的資源 name,運行時借助前文提到的mapRes方法即可獲取到需要被修改后的值。

開始實踐

前文介紹過,aapt2 編譯/鏈接后會生成一個 ap_ 文件,這個文件中包含了最終會進入插件中的所有編譯后的資源(包括各種 xml、resources.arsc、AndroidManifest.xml ),我們只需要分析這些文件中引用的 0x7f 開頭的資源,根據(jù) R.txt(aapt2生成的一個文件)找到對應(yīng)的資源名,將資源名、id 值、所在文件記錄到一個文件中,一并打包進插件 apk 中。

至于如何掃描這些文件中 0x7f 的資源,我們在不同階段使用了不同方式,大家可以自行選擇:

使用 aapt2 命令 dump 文件信息,分析 dump 后的文本內(nèi)容(我們編譯時是這么做的,簡單粗暴、性能較差、不夠優(yōu)雅);根據(jù)文件格式分析對文件內(nèi)容進行解析,找到 0x7f 開頭的資源(比較優(yōu)雅,效率也高,我們運行時是這樣做的)。

總結(jié):

以上,便生成了一個文件,內(nèi)部存儲了插件 xml 中使用到的宿主資源的信息。大概長下面這樣:

前文一直在說 xml 中使用的宿主資源,看上面這個配置文件發(fā)現(xiàn) fileNames 中怎么會有 resoureces.arsc ?它明明不是 xml 文件?

其實 Android 資源編譯之后,values 相關(guān)的一些資源文件都不存在了,會直接進入到 resources.arsc 中,layout 這類文件還存在,resoureces.arsc 中 layout 指向的正是各種 layout.xml,而 string 等 value 類型的資源指向的是一個真實的內(nèi)容。感興趣的同學(xué)可以通過 Android Studio 打開 apk,觀察一下 resources.arsc 中的結(jié)構(gòu)。

4.2 插件安裝時的工作

前面介紹了在插件編譯時,給 java 代碼中插入了一些邏輯,實現(xiàn)了插件動態(tài)根據(jù)宿主環(huán)境獲取資源 id 的效果。但是 xml 編譯完之后,資源 id 都直接編譯成了數(shù)字,xml 中也無法插入邏輯,因此我們只能在插件運行前,根據(jù)宿主環(huán)境進行修改。

插件在宿主中運行前都有一個插件安裝的過程,類似于 apk 在 Android 系統(tǒng)中的安裝,因此只需要在每次插件安裝前,或者宿主升級后,根據(jù)編譯時生成的配置文件,結(jié)合 mapRes 方法,對插件中的 xml、resources.arsc 文件進行修改即可。

確定了修改時機和修改內(nèi)容,接下來就要詳細介紹怎么修改這些文件了。

5. 修改 apk 中的資源文件5.1 如何修改 xml、arsc 文件

Android 中的 layout、drawable、AndroidManifest 等文件在編譯成 apk 后,不再是常規(guī)的 xml 文件了,而是新的一種文件格式 Android Binary XML,我們這里稱之為 axml。那么如何修改 axml 文件呢?

所有的文件都有自己的文件格式,程序在讀取文件時都是讀的 byte 數(shù)組,然后根據(jù)文件格式解析 byte 數(shù)組中每一個元素的含義。因此我們只需要了解了 axml 的文件格式,按照規(guī)范解析這個文件,在 byte 數(shù)組中找到其中表示資源 id 的位置,將原本的資源 id 根據(jù) resMap 方法映射出新的值,然后修改 byte 數(shù)組中對應(yīng)的部分。(非常幸運,我們這里修改的只是 axml 文件中的一個 8 位 16 進制數(shù),這個修改不會導(dǎo)致文件中內(nèi)容的長度、偏移等信息改變,因此直接替換對應(yīng)部分的 byte 數(shù)組即可。)

resources.arsc 是 apk 的資源索引表,里面記錄了 apk 中所有的資源,對于 values 類型的資源,資源對應(yīng)的內(nèi)容會全部進入到 resources.arsc 中,因此我們也需要對這個文件進行修改(如一個 style 的 parent 是宿主資源,我們就需要修改它)。修改的方法和 xml 類似,只需要按照規(guī)范解析 byte 數(shù)組,找到要修改內(nèi)容的偏移量,替換即可。

關(guān)于 axml、arsc 的文件格式,網(wǎng)上有很多文章介紹,這里就不詳細敘述了。

Apktool 是一款強大、開源的逆向工具,它可以把 apk 反編譯成源碼,那它肯定也有讀取 apk 中 axml、arsc 的代碼,不然怎么輸出一個可以編輯的 xml 源碼文件?所以我們可以直接去扒 apktool 中讀取 axml、arsc 的代碼,當(dāng)讀取到 axml 中屬于宿主的 id 時,記錄一下 byte 數(shù)組的偏移量,直接替換對應(yīng)位置的 byte 子數(shù)組。

aapt2 為我們提供了 dump 資源內(nèi)容的能力,可以幫助我們直接用“肉眼”去看 axml、arsc 的內(nèi)容,借助這個工具可以讓我們很方便的確認修改內(nèi)容,驗證修改是否生效。以 30.0 版本的 build-tools 中的 aapt2 為例,它的命令為aapt2 dump apk路徑 --file 資源路徑?。后面不跟--file 資源路徑,會直接 dump arsc。

以下是 dump 出來的 arsc,可以看到最后一個 style 的 parent 是一個 0x7f 開頭的宿主資源。

以下是 dump 出來的 activity_plugin1.xml,可以看到 TextView 中引用了一個宿主中的資源作為 backgroud。

5.2 修改 apk 中的 xml/arsc 文件

以上我們知道了如何修改一個 axml、arsc 文件。插件安裝時我們拿到的是 apk 文件,那么如何修改 apk 中的 axml、arsc 文件呢?

5.2.1 重壓縮方式修改

Apk 其實就是一個 zip 文件,修改 apk 中的文件內(nèi)容,首先想到的最簡單的方法就是讀取 zipFile 里面的文件,修改之后重壓縮。

java 為我們提供了一套操作 zipFile 的 api,我們可以輕松的將 zip 文件中的內(nèi)容讀取到內(nèi)存,在內(nèi)存中修改之后利用 ZipOutputStream 重新寫入到新的 zipFile 中。

代碼實現(xiàn)非常簡單。修改成功后,測試發(fā)現(xiàn)是可行的,那我們的第一步就算是成功了,說明運行時動態(tài)修改插件的路子是行的通的。

竊喜之于,發(fā)現(xiàn)修改過程十分耗時。以公司的直播插件為例(直播插件大約 30 MB,屬于比較大的插件了),在 9.0 及其以上的設(shè)備上耗時約 8s,在 7~8 的設(shè)備耗時大約 20~40s,在 7.x 以下設(shè)備大約耗時 10~20s。盡管插件安裝是在后臺進行,適當(dāng)?shù)脑黾右恍r間是可以接受的,但是幾十秒的耗時很明顯不可以接受。那我們只能想別的辦法了。

關(guān)于各個版本的耗時差異:

Android7.0 開始,官方使用 ZLIB 來提供 Deflater、Inflater 的實現(xiàn),優(yōu)化了解壓壓縮算法速度(可以查看 Deflater.java、Inflater.java 的注釋)。但是 7.x/8.x 的 ZipFileInputStream 在讀取數(shù)據(jù)時有一個 8192 的 BUFSIZE 限制( 8.x 之后移除了這個限制),導(dǎo)致在讀取數(shù)據(jù)時循環(huán)次數(shù)增多,效率反而下降。

7.0 開始,ZipFileInpugStream 在讀取數(shù)據(jù)時是通過 native 方法 ZipFile_read 進行的。以下是 android8.0 和 android9.0 中 ZipFile_read 的部分代碼。

5.2.2 直接修改 apk 的 byte 數(shù)組

Apk 其實就是一個 zip 文件,關(guān)于 zip 文件的介紹可以參考 Zip 的官方文檔。

簡單總結(jié)一下,zip 文件是由數(shù)據(jù)區(qū)、中央目錄記錄區(qū)、中央目錄尾部區(qū)組成(高版本的 zip 文件增加了新的內(nèi)容)。

中央目錄尾部區(qū):通過尾部區(qū)我們可以知道 zip 包中文件的數(shù)目、中央目錄記錄區(qū)的位置等信息;中央目錄記錄區(qū):通過尾部區(qū)我們可以快速找到中央目錄記錄區(qū)中的每一條文件記錄,這些記錄主要描述了 zip 包中文件的基本屬性如文件名、文件大小、是否壓縮、壓縮后的大小、文件在數(shù)據(jù)區(qū)中的偏移等;數(shù)據(jù)區(qū):數(shù)據(jù)區(qū)用來存放文件真實的內(nèi)容,根據(jù)中央目錄記錄區(qū)記錄的內(nèi)容,可以快速在數(shù)據(jù)區(qū)找到對應(yīng)的文件元數(shù)據(jù)以及文件的真實數(shù)據(jù)(如果壓縮,則是壓縮后的數(shù)據(jù))。

開始干活

了解了 zip 文件的格式后,我們只需要按照文件格式協(xié)議,在 apk 中找到我們需要修改的文件數(shù)據(jù)在 apk 中的偏移量,然后結(jié)合前面修改 axml/arsc 文件的方式,直接修改對應(yīng)的 byte 數(shù)組即可。借助 java 為我們提供的 RandomAccessFile 工具,我們可以快速的文件的任意位置進行讀取/寫入。

修改過程中發(fā)現(xiàn),apk 中的 xml 文件大部分是被壓縮的( res/xml 目錄下的一般不壓縮),這就導(dǎo)致我們從 apk 中拿出來的 byte 數(shù)組是 axml 被壓縮后的數(shù)據(jù),我們要對這段數(shù)據(jù)進行修改,需要先利用 Deflate 算法對它進行解壓( zip 文件中一般都是用的 Deflate 算法),然后進行修改再壓縮,但是經(jīng)過我們修改后,可能重新壓縮出來的數(shù)據(jù)就與修改前的數(shù)據(jù)長度不匹配了,如果是縮短還好,修改一下文件元數(shù)據(jù)即可,如果文件長度變長可能會導(dǎo)致后面文件的偏移量都要改變,牽一發(fā)而動全身。

好在插件的打包過程我們是可以侵入的,前面介紹“插件編譯時工作”時,我們在編譯時拿到了需要修改的文件,因此我們只需要控制 apk 打包時不要對這些文件進行壓縮(事實上 Android Target30 也要求 arsc 文件不進行壓縮)。這樣就很簡單的解決了問題,當(dāng)然會導(dǎo)致插件包體積的增加。

最終測試在直播插件中,開啟這個功能會導(dǎo)致包體積增加 20kb,對于接近 30mb 體積的直播插件來說,這個增量是可以接受的,而且也不會影響宿主包體積。(這個增量取決于插件有多少 xml 使用了宿主資源,一般插件的增量應(yīng)該都是小于直播插件的。)

改造完成后,經(jīng)測試,直播插件在各個版本手機上修改時長大約在 300~700ms 之間,修改速度提升了 10~90 倍。大部分插件也比直播插件小,耗時可以保證在 100ms 之內(nèi)。同時這個修改過程僅在插件第一次安裝或者宿主升級時做,并且是在后臺完成,所以是完全可以接受的。

關(guān)鍵詞: 進行修改 文件格式

相關(guān)新聞

Copyright 2015-2020   三好網(wǎng)  版權(quán)所有 聯(lián)系郵箱:435 22 640@qq.com  備案號: 京ICP備2022022245號-21
色屁屁一区二区三区在线观看| 国产精品成人免费电影| 日韩三级精品电影久久久久| 美女黄色啊啊啊啊视频| 中文在线字幕免费观看日韩视频| 成人午夜麻豆大胆视频| 上床啪啪啪免费视频| 婷婷综合缴情亚洲五月伊人| 午夜福利午夜福利影院| 在线国产精品欧美| 久久久久久高清一区| 黄版视频在线免费观看| 欧美精品一区二区三区观看| 国产91免费在线观看| 77亚洲视频在线观看| 中文字幕福利视频在线一区| 人妻激情综合久久久久蜜桃| 午夜92福利1000| 国产,亚洲,欧美综合| 久久视频 在线播放| 久久久精品人妻无码专区不卡| 99 re国产精品| 精品精品精品精品精品污污污污| 欧美精品乱码99久久蜜桃免费| jizzjizz国产精品传媒| 亚洲综合首页综合在线观看| 中文字幕人妻精品精品| 1级黄色片在线观看| 人妻免费视频黄片在线视频| 2021国产剧情麻豆| 日本少妇熟女乱码一区二区| 999国产精品视频免费看| 天天早上头和脸出汗是怎么办 | 新香蕉视频香蕉视频2| 欧美亚洲另类精品第一页| 亚洲色视频在线播放网站| 久久久久高潮白浆久久| 亚洲午夜国产末满十八岁勿进网站| 极品内射老女人操逼视频| 青青青在线视频观看97| 国产成人综合久久婷婷| 久久99久久99久久97的人| 中文字幕人妻一区二区视频系列| 欧美vs亚洲vs日韩| 91色乱一区二区三区| 韩日一级人添人人澡人人妻精品| 韩国资源视频一区二区三区| 日韩成人在线电影首页| 亚洲唯美激情综合四射| 国产精品剧情在线亚洲| 亚洲一区二区偷拍女厕所| 9999久久久久老熟妇二区| 港台美女明星av天堂| 欧美区日本区国产区| 美女福利视频一区二区三区四区| 夜夜骚av一二三区| 日韩美精品成人一区二区三区四区| 美女精品久久久久久久久| 免费在线观看黄色小网站| 欧美精品激情在线不卡| 蜜桃tv一区二区三区| 亭亭五月天在线观看| 亚洲熟女人妻自拍在线视频 | 蜜臀久久精品久久久久久av | 欧美男女一区二区三区| 五月的婷婷综合视频| 午夜野花视频在线观看| 日本a级2020在线观看| 亚洲综合首页综合在线观看| 久久久人妻免费视频| av人摸人人人澡人人超碰小说| 欧美日韩亚洲国产视频二区| 日韩成人精品久久久免费看| 国产毛片特级Av片| 东北老女人熟女啪啪视频| 精品高潮呻吟久久av| 日本午夜福利免费在线播放| 性感美女人妻久久久| 911美女片黄在线观看| 91 精品视频在线看| 2018中文字字幕人妻| 日本少妇丰满大bbb的小乳沟| 黄片操操操操操操c| 天天操天天射天天操天天日| 伊人免费观看视频一| 亚洲另类欧美综合久久| 18禁网站在线点击观看| 91大神在线免费观看视频| 欧美情色av在线观看| www,日韩av,com| 欧美成人区一区二区三| 天天操,天天射,天天爽| 精品国产久久久久午夜精品av| 亚洲美女a级黄色在线播放| 搞乱在线在线观看视频| 91精品视频在线观看视频| 91亚洲最新蜜桃在线| 得得爱在线视频观看| 干逼又爽又黄又免费的视频| 亚洲成年人精品国产| 2021国产剧情麻豆| 久久久国产精品免费视频网| 欧美日本在线免费视频| 欧美视频免费观看777| avgo成人短视频| 亚洲国产精品自拍偷拍视频在线| 欧美日韩不卡视频合集| 一区二区三区观看在线| 午夜精品老牛av一区二区三区 | 中文字幕观看中文字幕免费| av大尺度一区二区三区| 青娱乐免费最新视频| 69精品人妻久久久久久久久久久| 国际日韩日韩日韩日韩日韩| 不卡高清一区二区三区| 91精品久久久久久久99蜜月| 亚洲美女a级黄色在线播放| 在线中文字幕人妻av| 精品一区二区三区免费毛片W| 岛国av成人午夜高清| 中文字幕国产一区在线视频| 亚洲第一中文字幕成人| 欧洲精品在线免费观看| 亚洲a级视频在线播放| 熟妇精品午夜久久久久| 大成色亚洲一二三区| 亚洲唯美激情综合四射| 岳母的诱惑电影在线观看| 97精品国产91久久久| 五十岁熟女高潮喷水| 果冻麻豆一区二区三区| 日本男女免费福利视频| 国产 少妇 一区二区| 国产毛片特级Av片| 4438全国成人免费视频| 亚洲黄色免费在线观看网站| 中文字幕 中文字幕 亚洲| 大香蕉尹人在线最新| 亚洲女人自熨在线视频| 九色91操最新在线观看网址| 亚洲人成大片在线观看| 国产精品视频网站污污污| 最近日韩免费在线观看| 人人妻人人澡人人爽97| av男人站在线观看| 97精品久久久久久无码人妻| 亚洲制服丝袜资源网| 琪琪日本福利伦理视频| 日本美女爱爱视频网站| 欧洲亚洲一区二区三区四区| 国产一区二区三区四区精| 欧美黄色一区二区三区视频| 男生和女生羞羞91在线看| 丰满人妻被猛烈进入中文字幕| 欧美黄色一区二区三区视频| 国产精品无码无卡免费观| 国产极品气质外围av| 一区二区三区资源视频| 国产探花自拍亚洲av| 天天做天天日天天搞| 九九视频在线观看全部| 日本久久久久久黄色| 99久久久久久亚洲精品免费| 久久久亚洲熟女一区二区| 黑人巨大精品一区二区在线| 国产精品中文字幕丝袜| 亚洲经典av中文字幕| 伊人久久综合国产精品| 最新日韩av电影在线播放| 欧美日韩在线观看免费播放| 1区3区4区产品乱入视频| 日本东京热视频欧美视频| 4日日夜夜精品视频免费| 中文字幕熟女乱一区二区| 免费观看在线中文字幕视频| 松本菜奈实最新av在线 | 蜜臀久久精品久久久久久av| 黄色片免费国产精品| 久久人人爽人人爽人人av东京热| 视频免费在线观看网站| 国语对白性爱三级片免费看| 亚洲综合天堂av网站在线观看| 熟女俱乐部jukujoclub| 九九视频在线观看全部| 男人av一区二区三区| 丰满少妇_区二区三区| 啊~插得好快别揉我胸了视频| 久久亚洲国产成人精品麻豆 | 欧美丝袜亚洲国产日韩| 午夜美女福利视频在线| av一区二区三区蜜桃| 日本少妇丰满大bbb的小乳沟| 夜夜操夜夜爱夜夜摸| 欧美猛少妇色ⅹⅹⅹⅹⅹ猛叫| 自拍偷自拍亚洲精品10p| 亚洲精品1卡2卡3卡| 亚洲熟女一区二区三区250p| 丰满人妻熟女aⅴ一区| 蜜臀久久精品久久久久久av| 亚洲av中文免费在线| 国产不卡免费在线观看| tushy一区二区三区视频| 男人和女人的逼视频| 中文字幕精品人妻久久久久| 天天摸天天舔天天操天天日| 亚洲欧美不卡专业视频| 中出小骚货在线观看| 欧美久久蜜臀蜜桃资源吧| 国产人妻777人伦精品hd超碰| 蜜臀一区二区日韩美女少妇视频| 在线成人教育平台排名| 蜜桃tv一区二区三区| 五月的婷婷综合视频| 亚洲韩精品一区二区三区 | 手机视频在线观看一区| 日韩加勒比精品在线看| 91大神福利视频网| 国产精品午夜无码AV体验区| 亚洲乱码av一区二区蜜桃av| 99热在线只有的精品| 91亚洲最新蜜桃在线| 亚洲中文字幕最新地址| 久久99嫩草99久久精品| 日本香港韩国三级黄色| 免费在线观看黄色小网站| 中文字幕av特黄毛片| 国产在线观看一区二区三区四区| 亚洲欧美日韩电影一区| 七色福利视频在线观看| 久久99国产中文丝袜| 黄色大片一级老太太操逼| 天天看天天爱天天日| 久久99热精品免费观看视| 美女av色播在线播放| 美女欧美视频在线观看免费| 99久久免费播放在线观看视频| 黑人大吊大战亚洲女人。| 五月天色婷婷狠狠爱| 国产精品亚洲精品亚洲| 天天日 天天舔 天天射| av在线中文字幕在线| 亚洲免费午夜污福利| 国产av精品一区二区三区久久| 国产女主播在线观看一区| av 一区二区三区 熟女| 老司机伊人99久久精品| 奇米网首页神马久久| 偷拍熟女大胆免费视频| 一区二区三区国产在线成人av| 日本少妇精品免费视频| 不卡视频在线 欧美日韩| 中文字幕欧美人妻在线.| 麻豆国产精品777777在| 天天综合久久无人区| 亚洲成年人精品国产| 人妻少妇精品二三区| 狠狠操深爱婷婷综合一区| 久久久久久a女人处女| 91色老久久精品偷偷蜜臀| 中文字幕在线字幕乱码怎么设置| 亚洲国产综合久久精品| 夫亡人妻被强干中文字幕| 亚洲美女a级黄色在线播放| 大屁股熟女一区二区视频 | 天天操天天日天天插天天舔| 桃色成人开心激情网| 新香蕉视频香蕉视频2| 伊人综合在线视频免费观看| 成人做爰av在线观看网站| 狠狠操狠狠操狠狠插| 丰满人妻熟女aⅴ一区| 少妇被中出一区二区| iga肾三级算严重吗| 性感人妻 中文字幕| 丰满少妇人妻一区二区三区蜜桃| 国产91九色视频在线观看| av日韩视频在线观看| 中文字幕在线免费观看人妻 | 成人精品动漫一区二区| 亚洲美女露隐私av一区二区精品| 日本熟妇乱妇熟色视频| 国产肥胖熟女又色又爽免费视频| 91色老久久精品偷偷蜜臀| 亚洲va999天堂va| 伊人网在线免费观看| 老司国产精品视频免费观看| 久久久久夜色国产精品电影| 国产视频成人一区二区| 69久久夜色精品国产69乱电影| 久久久久久免费观看av| 中文字幕人妻一区色偷偷久久| 九十九步都是爱最后一步是尊严| 国产成人av在线你懂得| 中文字幕亚洲乱码精品无限| a级黄片免费观看| 亚洲熟女少妇中文字幕系列| 68视频在线免费观看| 亚洲唯美激情综合四射| 黄片视频免费观看视频| 婷婷六月天在线视频| 麻豆国产91制片厂| 欧美黄色性视频网站| 在线人成视频免费观看尤物| 每日更新日韩欧美在线| 得得爱在线视频观看| 外国美女舔男人坤坤| 久久无码高清免费视频| 亚洲熟女乱一区二区精品成人| 97精品人妻免费视频| 绿巨人浩克在线视频观看| 男人资源站中文字幕| 午夜福利国产精品久久久久 | 日本少妇人妻凌辱在线| 国产精品网站的黄色| 91精品一区一区三区| 亚洲av中文免费在线| 老司机在线视频福利观看| 亚洲一区二区在线视频观看免费| 美女妩媚午夜诱惑网站| 2026天天操天天干| 5d蜜桃臀女无痕裸感| 自拍偷拍色图亚洲天堂| 蜜臀一区二区日韩美女少妇视频| 在线国产精品欧美| 日韩精品欧美一区二区| 免费24小时人妻视频| 亚洲熟女一区二区六区| 91中文字幕视频网站| 欧美在线视频不卡一区| ass亚洲熟女ass| 成人人妻h在线观看| 中文字幕免费啪啪啪| 99re这里是国产精品首页| 国产91黑丝小视频在线观看| 美女妩媚午夜诱惑网站| 黄在线看片免费人成视频| 国产视频成人自拍蝌蚪视频| 男人的天堂aⅴ在线| 国际日韩日韩日韩日韩日韩| 国产成人综合久久婷婷| 欧美日韩国产在线中文字幕| 日日夜夜免费视频精品| 在线观看免费啪啪啪| 欧美精品一区二区三区观看| 最近最新最好看的中文字幕| 港台美女明星av天堂| 午夜精品久久久久久久精品乱码| 国产av剧变态维修工虐杀美女| 国产乱码有码一区二区三区| 人妻系列中文字幕大乳丰满人妻| 欧美最新一区二区三区| 亚洲av三级电影在线观看| 黑人和日本人av一区二区| 精品日本少妇久久久| 国产熟妇色xxⅹ交白浆视频 | 亚洲欧美国产人成在线| 男人的天堂av中文字幕| 韩国一级片最火爆中文字幕| 四虎精品久久免费最新| 日韩成人精品久久久免费看| 亚洲熟妇丰满多毛xxxx网站| 少妇熟女天堂网av| 91精品国产综合99| 日韩最近中文在线观看| 最新国产精品综合网高清| 欧美精品999不卡| 91九色国产在线视频| 美利坚合众国av天堂| 日韩人妻中文字幕区| 91久久久久久最新网站| 婷婷色九月综合激情丁香| jandara在线观看| 亚洲av 综合av| 日本福利视频网站导航| 国产,亚洲,欧美综合| 大鸡扒操大逼大片免费关看| 汤姆提醒30秒中转进站口| 亚洲乱码国产乱码精品精视频| 日本东京热最新中文字幕| 538欧美在线观看一区二区三区| 在线成人教育平台排名| 韩国资源视频一区二区三区| 人妻女侠被擒受辱记| 午夜精品久久久久久久久久蜜桃| 九十九步都是爱最后一步是尊严| 亚洲欧洲一区二区三区在线| 青青青国产精品视频| 久久久久九九九九九12| 绿巨人浩克在线视频观看| 亚洲国内精品久久久久久久 | 国产在线观看av一区| 亚洲第一中文字幕成人| 激情久久在线免费观看视频| av毛片在线观看网址| 黄很色很在线免费视频网站| 三区美女视频在线观看| 可以直接看av网站| 狠狠操av一区二区三区| 网友自拍第一页99热| 第一福利视频在线观看| 一区二区三区国产精华液区别大吗| 久久人人爽人人爽人人av东京热 | 国产精品久久久久精品三级18| 五月天天堂视频在线| 99国产精品久久99久久久| 女生抠逼自慰啊啊啊啊啊啊啊下载 | 鸡巴插进美女的嫩小穴视频| 大屁股熟女一区二区视频| 综合久久伊人久久88| 网友自拍第一页99热| 在线 制服 中文字幕 日韩| 日本少妇熟女乱码一区二区| 三级欧美日韩一区二区三区| 亚洲国产综合久久精品| 久久视频 在线播放| 国产主播诱惑毛片av| 天堂av在线最新地址| 亚洲情色777中文字幕| 熟女一区二区视频在线| 18禁男女啪啪啪无遮挡| 视频在线+欧美十亚洲曰本| 在线观看黄页网站视频网站| 裸日本资源在线午夜| 欧美日韩在线观看免费播放| 天天干夜夜爽狠狠操| 男人的天堂av中文字幕| avtt中文字幕手机版| 999久久久人妻精品一区| 开心激情五月天作爱片| 亚洲国产日韩欧美一区二区三区, 精久久久久久久久久久久 | 污视频在线观看地址| 激情久久在线免费观看视频| 高清av在线婷一区二区色日韩| 成人黄色录像在线观看| 色网站在线观看免费| 人妻中文字幕亚洲在线| 国产av精品一区二区三区久久| 在线 制服 中文字幕 日韩| 亚洲欧美韩国日本一区二区| 日本午夜福利免费在线播放| 日本不卡 中文字幕| 91超精品碰国产在线观看| 另类欧美激情校园春色| 黄色片免费国产精品| av资源中文字幕在线观看| 亚洲成人中文无码在线| 在线视频国产精品欧美| 黑吊操欧美极品美女| 大香蕉在线欧美在线视频| 欧美一区日韩二区三区四区| 欧美一级aaaaaaa片| 九一精品人妻一区二区三区| 国产在线小视频一区二区| 中文字幕欧美一区二区视频| 国产激情免费在线视频| 麻豆出品视频在线观看| 河北全程露脸对白自拍| 女生抠逼自慰啊啊啊啊啊啊啊下载| 不卡一区二区视频在线| 97精品久久久久久无码人妻| 久久国产精品久精国产爱| 91精品91久久久久| 首页欧美日韩中文字幕| 午夜国产精品免费视频| 中文字幕欧美人妻在线.| 91九色尤物无套内射| 九九热在线精品播放| 天堂在线中文字幕av| 鸡巴在里面福利视频在线观看| 人妻熟女 亚洲 一页二页| 在线人成视频免费观看尤物| 在线国产精品欧美| 最新日韩av电影在线播放| 九九视频在线观看全部| 国语对白性爱三级片免费看| 91污污在线观看视频| 亚洲一区在线视频观看地址| 福利小视频免费在线| 一区二区三区高清视频3| 色噜噜噜噜色噜噜色合久一| xxoo福利视频导航| 五月天天堂视频在线| 区一区二区三免费观看视频| 午夜情色一区二区三区| 久久久精品人妻无码专区不卡 | 亚洲制服丝袜资源网| 中文字幕在线免费观看成人| 亚洲同性同志一二三专区 | 久操资源在线免费播放| 天天干夜夜撸天天操| 日本东京热视频欧美视频| 快色视频在线观看免费| av一区二区三区蜜桃| 中国特黄色性生活片| 欧美日韩不卡视频合集| 日韩精品欧美一区二区| 最新日韩中文字幕免费在线观看| av 资源在线播放| 无码人妻丰满熟妇区五路| 啪啪啪网站免费在线看| yellow在线亚洲精品一区| 国产欧美福利在线观看| 偷拍欧美日韩另类图片| 欧美大胆a级视频秒播| 极品少妇高潮喷水日出白浆| 蜜桃臀少妇白色紧身裤细高跟| 亚洲制服丝袜资源网| 亚洲欧洲无码一区2区无码| 国产精品网站亚洲发布| 亚洲码av一区二区三区| 东京热日韩av影片| 99久久人人爽亚洲精品美女| 男人资源站中文字幕| 免费在线观看黄色小网站| 九九热在线精品播放| 欧美日韩久久丝袜在线| 天天早上头和脸出汗是怎么办| 国产黑色丝袜 在线日韩欧美| 午夜福利片无码10000| 美女激情久久久久久久| 亚洲国产日韩a在线欧美| 大鸡扒操大逼大片免费关看| 亚洲18片综合国产av| 性感美女人妻久久久| 2020国产成人精品视频| 国产最新av在线免费观看| 亚洲一区二区偷拍女厕所| 日本高清久久人人爽| 熟妇人妻av无码中文字幕| 日韩人妻精品久久久久| 国产在线观看一区二区三区四区| 国产极品气质外围av| 男女真人做带声音视频图片| 偷拍欧美日韩另类图片| 日韩精品欧美一区二区| 亚洲一级熟妇丰满的女人| 开心五月综合激情婷婷| 人妻系列在线免费视频| 日日躁夜夜躁狠狠操| 老司机在线视频福利观看| 99精品久久99久久久久一| 伦理在线观看未删减中文字幕| 女同性恋av在线播放| 成人做爰av在线观看网站| 亚洲黑人欧美二区三区| 一区二区三区av免费天天看| 92午夜免费福利视频www| 最新日韩av电影在线播放 | 日本少妇丰满大bbb的小乳沟| 亚洲欧美精品海量播放| 一看就是假奶的av| 国产白丝一区二区三区av| 91日本精产品一区二区三区| 青青在线视频看看| 汤姆提醒30秒中转进站口| 在线能看视频你懂的| 国产一区两区三区福利小视频| 瑟瑟干视频在线观看| 久久人妻人人草人人爽| 久久午夜免费鲁丝片| 五月激情婷婷四射基地| yy4080黄色片| 蜜臀一区二区日韩美女少妇视频| 色老头一区二区三区四区五区 | 美女福利视频一区二区三区四区 | 亚洲国产美女主播在线观看| 全球高清中文字幕av| 久久久久性感美女偷拍视频| 亚洲欧美另类丝袜另类自拍| 午夜在线观看一级毛| 快使劲弄我视频在线播放| 亚洲一区二区偷拍女厕所| 日本一区二区高清av中文| 国产人妻熟女ⅹxx丝袜| 午夜精品久久久久久久久久蜜桃| 久久视频 在线播放| 欧美区日本区国产区| 久久无码高清免费视频| 视频在线 一区二区| 日本东京热最新中文字幕| 亚洲精品1卡2卡3卡| 久久午夜免费鲁丝片| 91九色人妻在线播放| 最新国产精品久久精品app| 妈妈的朋友中字在线免费观看| v天堂国产精品久久| 午夜夫妻性生活视频| 在线免费观看视频18| 自拍偷拍 亚洲性图 欧美另类| 日本电影一级人妻在线播放四区 | 天天在线播放日韩av| 亚洲国产精品青青草| 亚洲唯美激情综合四射| 亚洲国产中文字幕在线看| 奇米网首页神马久久| 5d蜜桃臀女无痕裸感| 亚洲午夜精品视频节目| 日韩人妻中文字幕二区| 九九热视频1这里只有精品| 精品视频一区二区三区◇| 99久久国产精品免费消防器材| 久久久精品人妻无码专区不卡| 五月在线视频免费播放91| 免费成人av麻豆| 啪啪啪网站免费在线看 | 国产美女主播av在线| 日本少妇熟女乱码一区二区| 亚洲国产日韩欧美一区二区三区, 精久久久久久久久久久久 | 亚洲一区二区三区无码在线| 中文字幕在线免费观看成人| 91精品麻豆91夜夜骚| 日本男女免费福利视频| 无码人妻丰满熟妇区五路| 中文人妻av一区二区三区| 天天日天天干天天日天天干天天| 欧美性受黑人猛交裸体视频| 中文字幕熟女人妻一区| 92麻豆一区二区三区| 日本老熟老熟妇七十路| 精品国产无乱码一区二区三区 | 亚洲欧美综合另类最新| 岛国av成人午夜高清| 亚洲一区二区精品在线播放| 欧美日本在线免费视频| 大香蕉在线欧美在线视频| 婷婷色综合五月天视频| 99精品视频在线在线观看| 日韩黄色在线观看网站上| 女同大尺度视频网站在线观看| 亚洲综合首页综合在线观看| 在线观看网站伊人网| 青青草成人免费自拍视频| 一区二区三区五区六区| 无码精品黑人一区二区老人| 免费的啪啪视频软件| 五月天色婷婷狠狠爱| 69国产精品成人aaaaa片| 天天躁狠狠躁狠狠躁性色| 男人的天堂在线2025| 亚洲制服丝袜在线看| 日本一本午夜在线播放| 欧美日韩国产在线中文字幕| 亚洲一区二区精品三区视频| 中文字幕免费啪啪啪| 岛国av成人午夜高清| 亚洲成人欧洲成人在线| 老熟女 露脸 嗷嗷叫| 老牛影视在线一区二区三区| 天天干天天弄天天日| 青青青在线视频免费播放| 日韩av水蜜桃一区二区三区| 精品视频在线观看免费99| 色网站在线观看免费| 91性高湖久久久久久久久久| 日本高清有码在线视频| 日本一区二区高清av中文| 亚洲欧美另类丝袜另类自拍| 亚洲成a人片777777张柏芝| 人妻系列中文字幕大乳丰满人妻 | 欧美视频免费观看777| 国产精品视频网站污污污| 户外露出视频在线观看| 日韩激情亚洲国产欧美另类激情 | 松本菜奈实最新av在线| 婷婷一区二区三区五月丁| 在线视频自拍第三页| 一区二区三区国产精华液区别大吗| 欧美日韩综合精品无人区| 亚洲中文字幕最新地址| 亚洲成人自拍图片网站| 91久久精品美女高潮喷水白浆| 99久久久久久久久久久久久| 人妻视频网站快射视频网站| 高清av在线婷一区二区色日韩| 亚洲午夜精品一级毛片app| 亚洲成人自拍av在线| 国产精品国产三级在线高清观看 | 97精品视频,全部免费| 91精品夜夜夜一区二区蜜桃| 亚洲少妇色小说综合| 99久久久久久久久久久久久| 亚av一二三在线观看| 人妻熟女 亚洲 一页二页 | 91性高湖久久久久久久久久| 蜜乳av中文字幕一区二区| av在线男人的天堂亚洲| 中文字幕av特黄毛片| 好看的日本中文字幕在线观看二区| 五十岁熟妇高潮喷水| 日本欧美视频在线免费| 360偷拍蜜桃臀69式| 上床啪啪啪免费视频| 顶级欧美色妇4khd| 亚洲一区二区在线激情| 久久久久高潮白浆久久| aa福利影视在线观看| 青青操91美女国产| 人人妻人人澡人人爽97| 一区二区三区四区 在线播放 | 日本成年视频在线免费观看| 女生抠逼自慰啊啊啊啊啊啊啊下载| 全球高清中文字幕av| 最新国产精品综合网高清| 蜜乳av中文字幕一区二区| 9久re热视频在线精品| 亚洲高清一区二区三区久久| 亚洲最大的自拍偷拍网| 天天天天天天天天日日日| 欧美成人屋影院在线视频观看| 乌克兰美女操逼高清内射视频| 68福利精品在线视频| 超碰在线观看97资源| av男人站在线观看| 最新久久这里只有精品| 亚洲天堂色综合久久| 久久99精品久久久久久三级| 美女黄色啊啊啊啊视频| 国产做A爱免费视频在线观看| 国产极品气质外围av| 两个奶被揉得又硬又翘怎么回事| 激情久久在线免费观看视频| 天天色 天天操 天天好逼| 东京热日韩av影片| 国产av在线免费视频| 日韩一级视频一区二区三区| 91中文字幕视频网站| 九九六视频,这里只有精品| 熟女一区二区视频在线| 老色鬼精品视频在线观看播放| 国模伊人久久精品一区二区三区| 亚洲在线观看中文字幕av| 欧美性感美女热舞视频| 国产,亚洲,欧美综合| 欧美肥妇久久久久久| 夜夜操天天干夜夜操| 最新中文字幕久久久久| 九色91操最新在线观看网址| 大陆中文字幕视频在线| 激情九月天在线视频| 九热精品视频在线观看| 日韩黄色在线观看网站上| 欧美精品激情在线不卡| 大尺度久久久久久久| 国产熟女五十路一区二区三区| 夜夜操天天干夜夜操| 中文字幕 首页 人妻| 国产肥胖熟女又色又爽免费视频| 九九视频在线观看全部| iga肾三级算严重吗| 欧美情色av在线观看| 亚洲精品1卡2卡3卡| 最新日韩中文字幕免费在线观看| 骚穴被阴茎插免费视频| 日本亚洲精品视频在线观看| 精品av天堂毛片久久久| 亚洲av中文免费在线| 日本免费人爱做视频在线观看不卡| 免费高清av一区二区| 开心激情五月天作爱片| 一二三四区国产在线观看| 青青青在线观看国产| 免费24小时人妻视频| 99久久国产精品免费消防器材| 麻豆午夜激情在线观看| 在线人成视频免费观看尤物| 亚洲一区二区在线激情| 日韩加勒比精品在线看| 亚洲av日韩久久网站| xxnxx国产美女| 51vv精品视频在线观看| 欧美精品999不卡| 久久久久国产精品二区| 五月天天堂视频在线| 色欲AV蜜桃一区二区三| 久久久久久免费观看av| 日韩av熟妇在线观看| 天堂在线中文字幕av| 西野翔人妻中文字幕中字在| 日本成年视频在线免费观看| 熟妇高潮久久久久久久| 午夜偷拍的视频久久久免费大全| 男人资源站中文字幕| 人妻被强av系列一区二区| 伊人网在线免费观看| 天天曰天天摸天天爽| 啊~插得好快别揉我胸了视频| 大乳人妻一区二区三区| av福利免费体验观看| 黄版视频在线免费观看| 日本小视频一区二区| 三级欧美日韩一区二区三区| 夜夜爽夜夜操夜夜爱| 顶级欧美色妇xxxx| 天天干天天色综合久久| 日本清纯中文字幕版| 嗯~嗯~啊啊啊~高潮了软件| 日本老熟老熟妇七十路| 手机看片福利一区二区三区四区| 91九色尤物无套内射| 日本韩国福利在线播放| 丰满放荡熟妇在线播放| 一级做性色a爱片久久片| 在线观看网站伊人网| 核xp工厂精品久久亚洲| 欧美日韩国产在线中文字幕| 天天操天天搞天天操| av天堂新资源在线| 国产91免费在线观看| 91九色尤物无套内射| julia人妻av一区二区三区| 午夜8050免费小说| 日本特级黄片免费观看| 男生和女生羞羞91在线看| 超级黄肉动漫在线观看| 亚洲熟妇在线视频观看| 九热精品视频在线观看| 荣立三等功退休有什么待遇| 丰满放荡熟妇在线播放| 天天干天天日天天弄| 在线播放 日韩 av| 成人午夜高清福利视频| 福利在线国产小视频| 先锋人妻啪啪中文字幕| 国产亚洲精品啪啪视频| 大香焦一道本一区二区三区| 熟女人妻少妇一区二区| 久久99热精品免费观看视| 中文字幕 首页 人妻| 中字幕人妻熟女人妻a62v网| 亚洲欧美韩国日本一区二区| 伊人精品久久一区二区| 午夜呻吟亚洲精品中文字幕在上面| 青青操91美女国产| 韩国在线播放一区二区三区| 黄片操操操操操操c| 欧美性感美女热舞视频| 在线 制服 中文字幕 日韩| 98热视频精品在线观看| 成人av中文字幕在线看 | 天天插天天干天天狠| 国产在线小视频一区二区| 亚洲欧美另类丝袜另类自拍| 91九色91在线视频| 日本黄页在线观看视频| 中字幕人妻熟女人妻a62v网| 97成人老师在线视频| 免费在线观看视频啪啪| 中文字幕观看中文字幕免费 | 2018中文字字幕人妻| 黄色片免费国产精品| 红桃视频国产av在线| 亚洲无人区乱码中文字幕一区| 69精品互换人妻4p| 丰满人妻熟女aⅴ一区| 国产午夜羞羞一区二区三区| 色哟哟亚洲乱码国产乱码精品精| 男人用大鸡巴狂操女人肉穴| 国产高清自拍偷拍在线| 亚洲欧美精品海量播放| 亚洲综合色一区二区三区| 污网址在线观看视频| 免费在线小视频你懂的| 亚洲三级综合在线观看| 亚洲一区二区偷拍女厕所| 日本久久久久久黄色| 美女把逼扒开让男人桶| 男人的天堂在线2025| 在线免费观看视频18| 中文字幕中文字幕在线中…一区| 中文字幕熟女人妻一区| 9久re热视频在线精品| 日本特级黄片免费观看| 欧美成人性生活视频播放| 久久久人妻免费视频| 日本在线免费观看国产精品| 久久国产精品久精国产爱| 午夜福利片无码10000| 精品久久久久久久久久久久久 | 人妻免费视频黄片在线视频| 东京热男人的天堂视频| 中文字幕在线字幕乱码怎么设置| 亚洲国产日韩a在线欧美| 天天透天天舔天天操| 欧美黑人性猛交小矮人| 东北老女人熟女啪啪视频| 成年人免费福利在线| 第一福利视频在线观看| 日韩激情文学在线视频| 中文字幕一区二区三区久久久| 亚洲|久久久久久一二三区丝袜| av 资源在线播放| 在线有码人妻自拍视频| 国产美女主播av在线| 亚洲成人三级黄色片| 制服丝袜 中文字幕 日韩| 99999久久久精品| 亚洲熟女人妻自拍在线视频| 欧美日韩在线观看免费播放| 77亚洲视频在线观看| 日韩人妻中文字幕二区| 宅男噜噜噜66国产在线观看| 最近最新最好看的中文字幕| 不卡一二三区别视频| 自拍偷拍视频亚洲一区| 最新免费在线观看污视频| 69av精品国产探花| 裸露视频免费在线观看| 午夜情色一区二区三区| 综合激情网,激情五月| 日本四十路人妻熟女| 欧美性感美女热舞视频| 久久久久性感美女偷拍视频| 1级黄色片在线观看| 国产igao激情在线视频入口 | 五月天男人的天堂中文字幕| 蜜桃tv一区二区三区| 亚洲在线免费观看18| av天堂新资源在线| 欧美日韩精品aaa| 操死你美女在线视频| 蜜桃tv一区二区三区| 狠狠操狠狠操狠狠插| 自拍丝袜国产欧美日韩| 欧美男女一区二区三区| 日本亚洲午夜福利一区二区三区| 亚洲综合在线视频在线播放| 色噜噜噜噜色噜噜色合久一| 久久人妻诱惑我视频| 日本清纯中文字幕版| 91精产国品一二三产区区别网站| 丰满放荡熟妇在线播放| 成人超碰一区二区三区| 亚洲黑人欧美二区三区| 国产大桥未久一区二区| 大乳丰满人妻中文字幕韩国hd| 成人午夜av电影网| 4438全国成人免费视频| 绿巨人浩克在线视频观看| 嗯~嗯~啊啊啊~高潮了软件| 午夜国产一区二区三区| 中文字幕观看中文字幕免费| 欧美日韩精品aaa| 国产欧美福利在线观看| 69精品人妻久久久久久久久久久 | 91美女在线观看视频| 日韩成人免费观看电影| 免费看一级高潮喷水片| 久久综合狠狠综合久久综| 日韩在线 中文字幕| 欧美插插插插插插| 亚洲成人三级黄色片| 在线能看视频你懂的| 亚洲制服丝袜资源网| 成年男女免费视频网站无毒| 精品人妻在线激情视频| 中文字幕 人妻 熟女| 一区二区三区婷婷中文字幕| 美女福利视频一区二区三区四区| 大屁股熟女一区二区视频 | 91超碰九色porny| 1区3区4区产品乱入视频| 久操资源在线免费播放| 青青操天堂在线观看视频| 久久久久久久精品乱码| 大香焦一道本一区二区三区| 国产视频1区2区3区| aaaa级少妇高潮在线观看| lutu玩弄人妻短视频| 国产精品免费看一区二区三区| 青青在线视频看看| 男人电影天堂在线观看| 四虎国产精品国产精品国产精品| 99亚偷拍自图区亚洲| 综合激情网,激情五月| 色狠狠色综合久久久绯色| 91色老久久精品偷偷蜜臀| 人妻色综合aaaaaa网| 亚洲一区二区在线激情| 成熟了的熟妇毛茸茸| 久久国产半精品99精品国产| 国产做A爱免费视频在线观看| 猫咪亚洲中文在线中文字幕| 视频在线 一区二区| 强乱人妻中文字幕日本| 国产自拍偷拍视频在线免费观看| 午夜92福利1000| 人妻系列中文字幕大乳丰满人妻 | 日本高清激情乱一区二区三区| 久久国产精品久精国产爱| 日本少妇丰满大bbb的小乳沟| 亚洲午夜精品视频节目| 欧美三区四区在线视频| www,日韩av,com| 在线观看网站伊人网| 青青草原在线播放日韩| 黑鸡巴肏少妇逼视频| 四季av人妻一区二区三区| 午夜福利在线不卡视频| 欧美国产精品久久久免费| 青青在线视频看看| 内地精品毛片在线观看| 国产免费久久精品99re丫丫| www国产亚洲精品久久久| 人妻免费视频黄片在线视频| 福利一二三在线视频观看| 亚洲韩精品一区二区三区 | 在宿舍强奷两个清纯校花| 最新日韩中文字幕啪啪啪| 国色天香一二三期区别大象| 日本一区二区三区调教性奴视频| 川上优所有中文字幕在线| 亚洲欧美一级特黄大片| 亚成区一区二区人妻熟女| 亚洲激情视频在线观看免费| 欧美黑人性猛交小矮人| 91激情四射婷婷综合| 国产福利小视频在线观看网站| 欧美精品激情在线不卡| 熟女人妻aⅴ一区二区三| 精品久久久久久久久久久久久| 999国产精品视频免费看| 人妻少妇精品二三区| 丰满放荡熟妇在线播放| 香港日本台湾经典三级| 免费的啪啪视频软件| av激情四射五月婷婷| 久久久久久免费观看av| 天天日天天干天天日天天干天天| 熟妇人妻丰满久久久久久久| 亚洲激情视频在线观看免费| 91大神福利视频网| 色老头一区二区三区四区五区 | 亭亭五月天在线观看| 中文字幕 首页 人妻| 5566熟女人妻人妻| av 一区二区三区 熟女| 秋霞成人午夜鲁丝一区二区三区| 亚洲国产精品自产拍在线观看| 日本国产亚洲欧美色综合| 熟妇人妻丰满久久久久久久| 美女把逼扒开让男人桶| 九十九步都是爱最后一步是尊严| 精品国产av虐杀两警花 | 92午夜免费福利视频www| av在线观看视频免费| 亚洲午夜精品视频节目| 国产熟妇色xxⅹ交白浆视频| 国产亚洲精品啪啪视频| 2020国产成人精品视频| 国产成人情侣av在线| 国产av剧变态维修工虐杀美女| 欧美一级日韩一级亚洲一级va| 美女把腿张开给男的捅| 两个人在一起靠逼啊啊啊| 豆豆专区操逼性视频在线| 午夜精品视频免费观看| 55夜色66夜色亚洲精品| 亚洲成人av在线一区二区| 精品国产污污污免费入口| 在线观看中文字幕少妇av| 性感美女极品18禁网站在线| 999国产精品视频免费看| 免费观看在线中文字幕视频| 女人的天堂 av在线| 欧美日韩成人高清中文网| 黑人侵犯人妻森泽佳奈| 91精品在线视频免费视频| 蜜桃臀少妇白色紧身裤细高跟| 亚洲唯美激情综合四射| 夜夜躁av麻豆男| 鸡巴插进美女的嫩小穴视频| 天天操天天舔天天射天天日天天干| 亚洲精品乱码久久久久app| 亚洲va999天堂va| 男人用大鸡巴狂操女人肉穴| 亚洲黑人欧美二区三区| xxxx69在线观看视频| 青娱乐不卡视频在线| 不卡高清一区二区三区| xxnxx国产美女| 91 精品视频在线看| 国产大桥未久一区二区| 自拍偷拍 国产激情| 亚洲最强的25个城市| 999国产精品视频免费看| 一区二区三区国产精华液区别大吗| 97精品视频,全部免费| 最新激情中文字幕视频| 久久久久国产精品二区| 凹凸视频一区二区在线观看| 欧美插插插插插插| 日本欧美国产在线一区| 久久人妻人人草人人爽| 男人和女人的逼视频| 91超精品碰国产在线观看| 国内销魂老女人老泬| 人妻在线中文视频视频| 中文字幕熟女乱一区二区| 日韩一级视频一区二区三区| tushy一区二区三区视频| 青青青国产精品视频| 手机看片1024精品国产| 亚洲熟女一区二区三区250p | 视频免费在线观看网站| 欧美亚洲另类精品第一页| 午夜宅男电影av网站| 欧美激情视频第一页| 国产av精品一区二区三区久久| 亚洲图片另类综合小说| 999久久久人妻精品一区| 亚洲 综合 欧美 一区| 在线免费观看视频18| 网站在线观看蜜臀91| 天天插天天透天天爽| 蜜桃臀av在线一区二区| 亚洲国产精品一区51动漫| 成人人妻h在线观看| 午夜国产一区二区三区| 天堂av在线最新地址| 99精品久久99久久久久一| 日本亚洲午夜福利一区二区三区| 国际日韩日韩日韩日韩日韩| 操操操操操操操操操网| 极品少妇高潮喷水日出白浆| 久久国产精品久精国产爱| 亚洲少妇视频在线观看| 2020国产激情视频在线观看| 日韩加勒比精品在线看| 久久av色噜噜ai换脸| 午夜精品老牛av一区二区三区| 国产亚洲综合5388| 国产免费久久精品99re丫丫| av 资源在线播放| 精久久久久久久久久久久| 国产经典精品欧美日韩| 国产女主播在线观看一区| 鸡巴插进美女的嫩小穴视频| 欧美黑人1区2区3区| 亚洲欧美另类校园春色| 汤姆提醒30秒中转进站口| 美女欧美视频在线观看免费| 国产91九色视频在线观看| 天天在线播放日韩av| 欧美男女一区二区三区| 天天爽天天操天天插| 日韩免费黄色片在线观看| 久久久久久久岛国免费观看| 五月激情婷婷四射基地| 国内精品一区二区2021在线 | 青青在线免费手机播放视频| 天天操天天射天天操天天日| av在线免费在线观看| 18在线观看免费观看| 夜夜躁av麻豆男| 99热99这里免费的精品| 日本福利网站一区二区| 99久久99九九九99九| 视频免费在线观看网站| 五月的婷婷综合视频| 免费中文字幕a级激情| 欧美久久蜜臀蜜桃资源吧| 欧美日韩亚洲国产视频二区| 亚洲中文字幕在线视频观看二区 | 大片a免费观看在线视频观看| 色丁香久久激情综合网| 亚洲情色777中文字幕| 久久sm人妻中出精品一区二区| 麻豆国产91制片厂| 2018中文字字幕人妻| 有码一区二区三区四区五区| 人妻激情偷乱一区二区三区av| 亚洲国内精品久久久久久久| 91色老久久精品偷偷蜜臀| 69av精品国产探花| 可以免费观看日韩av| 精品国产人伦一区二区三区| 欧美一级aaaaaaa片| 午夜福利国产精品久久久久 | 久久久久久久岛国免费观看| 日本有码精品一区二区三区| 成人精品影视一区二区| 中文字幕福利视频第四页| 99热这里只有精品免费播放| 色狠狠色综合久久久绯色| 伊人精品成人综合网| 大成色亚洲一二三区| 国产一级一国产一级毛片| 久久久久久久精品乱码| 午夜情色一区二区三区| 绿巨人浩克在线视频观看| 中文字幕久久久国产| 丰满人妻熟女aⅴ一区| 日韩久久九九精品视频| 免费成人av麻豆| 狂操鸡巴小骚逼视频免费观看| 久久99精品热在线观看| 99久久久久久久久久久久久| 蜜臀久久精品久久久久久av| 久久久久久a女人处女| 亚洲综合另类欧美久久| 中文字幕综合网91| 久久久久久久久久久久久国产| 国长拍拍视频免费孕妇| 69视频在线精品国自产拍| 精品美女洗澡一区二区| 操操操操操操操操操网| 五十岁熟妇高潮喷水| 干逼又爽又黄又免费的视频| av成人三级高清日韩| 亚洲综合第一区二区| 性感美女极品18禁网站在线| 亚洲高清免费在线观看视频| 99女福利女女视频在线播放| 亚洲美女露隐私av一区二区精品| 久久人妻人人草人人爽| 久久精品国产亚洲av清纯| 九一精品人妻一区二区三区| 国产女人18毛片水真多精选| 日本欧美国产在线一区| 亚洲中文字幕在线视频观看二区| 天天日天天亲天天操| 人妻熟女 亚洲 一页二页| 桃色成人开心激情网| 亚洲蜜桃久久久久久| 老熟女 露脸 嗷嗷叫| 人妻人妻在线视频网站| tushy一区二区三区视频| 国产精品乱码高清在线观看h| 天天操天天日天天碰| 日韩国产欧美一区二区三区粉嫩| 69视频在线精品国自产拍| 日本人妻少妇xxxxxxx| 日韩成人免费观看电影| 午夜精品秘一区二区三区| 午夜精品视频免费观看| 免费中文字幕a级激情| 青青操久久综合激情| 在线观看黄页网站视频网站| 国产精品福利久久久久| av在线男人的天堂亚洲| 豆豆专区操逼性视频在线| 18禁网站在线点击观看| av天堂hezyo| 男人资源站中文字幕| 91九色91在线视频| 川上优所有中文字幕在线| 欧美vr专区日韩vr专区| 97人妻av人人澡人人爽| 91国产精品乱码久久久久久| 天天干夜夜操夜夜骑| 日本久久久久久黄色| 色老头一区二区三区四区五区| 亚洲乱码国产乱码精品精视频| 天天看片天天摸天天操| 久久无码高清免费视频| 中文乱码字幕人妻熟女人妻| 自拍偷拍视频亚洲一区| 手机看片1024精品国产| 最新国产午夜激情视频| 一区二区三区内射美女| 黑人侵犯人妻森泽佳奈| 97精品久久久久久无码人妻| 精产国品一二三77777| 欧美黑人1区2区3区| 成人午夜av电影网| 亚洲无人区乱码中文字幕一区| 美女黄色啊啊啊啊视频| 好看的日本中文字幕在线观看二区| 国产激情免费在线视频| 欧美人与动欧交视频| 国产伦理二区三区在干嘛呢| 午夜精品久久久久久久久久蜜桃| 河北全程露脸对白自拍| 看女人大BB群伦交| 鸡巴在里面福利视频在线观看| 亚洲中文字幕在线av| 成人十欧美亚洲综合在线| 最新日韩av电影在线播放| 国产福利一区二区三区在线观看| 亚洲全国精品女人久久久 | 亚洲av手机免费在线| 裸日本资源在线午夜| 亚洲女人自熨在线视频| lutu玩弄人妻短视频| 伊人免费观看视频一| 亚洲avav天堂av在线网毛片| 1级黄色片在线观看| 亚洲成人偷拍自拍在线| 超peng视频在线免费播放97| av人摸人人人澡人人超碰小说| 大香焦一道本一区二区三区| 最新激情中文字幕视频| 国产视频1区2区3区| 午夜精品久久久久久久精品乱码| 亚洲永远av在线播放| 亚洲人人爽人人澡起碰av| 天天插天天干天天狠| 68视频在线免费观看| 99久久国产精品免费热| 亚洲综合成人精品成人精品| 操烂你的骚逼天天欧美| 亚洲欧美精品海量播放 | 自拍偷拍色图亚洲天堂| 国内精品一区二区2021在线| 熟妇人妻av无码中文字幕| 美女把逼扒开让男人桶| 国产精品久久久久久成人久| 国产精品网站的黄色| 无码人妻丰满熟妇区五路| 人人妻人人狠人人爽| 熟女人妻少妇一区二区| 久久久亚洲熟女一区二区| 天天爽天天操天天插| 久久午夜免费鲁丝片| 2020年亚洲男人天堂网| 黑鸡巴肏少妇逼视频| 亚洲精品国品乱码久久久久| 午夜免费福利老司机| 天天综合久久无人区| 亚洲中文字幕最新地址| 69久久夜色精品国产69乱电影| av男人站在线观看| 国产美女视频带a∨黄色片| 久久精品国产亚洲av热软件| 91亚洲精品久久蜜桃| 日本丰满熟妇浓密多毛| 亚洲同性同志一二三专区| 午夜3p福利视频合集| 精产国品一二三产品区别91| 日韩欧美国产一区二区在线观看| 亚洲国产精品自拍偷拍视频在线| 男女69视频在线观看免费| 美女露阴道让男人捅| 精品一区二区三区免费毛片W| 最新激情中文字幕视频| 天天看片天天摸天天操| 懂色av之国产精品| 黄片操操操操操操c| 亚洲一区视频中文字幕在线播放| 精品人妻 色中文熟女 oo| 天天曰天天摸天天爽| 日本四十路人妻熟女| 日本不卡 中文字幕| 色欲AV亚洲AV无码精品| 中文字幕在线观看av观看| 青青操久久综合激情| 午夜福利国产精品久久久久| 熟妇人妻av无码中文字幕| 久久人人爽人人爽人人av东京热| —区二区三区女厕偷拍| 91福利高清在线播放| av无限看熟女人妻另类av| 欧美日韩亚洲tv不卡久久| 黄片操操操操操操c| 亚欧洲乱码视频一二三区| 女人扒开逼让男人操 | 99久久久久久亚洲精品免费| 日本国产亚洲欧美色综合| —区二区三区女厕偷拍| 天堂av在线最新地址| 精品不卡一区二区三区| 熟女国内精品一区二区三区| jandara在线观看| 成年人免费福利在线| 国产资源网站在线播放| 亚洲国产美女主播在线观看| 五月的婷婷综合视频| 亚洲理论在线a中文字幕97| 河北全程露脸对白自拍| 自拍偷拍 亚洲性图 欧美另类| 欧美vs亚洲vs日韩| 午夜久久久久久av五月| 亚洲字幕一区二区夜色av| 国产,亚洲,欧美综合| 中文字幕观看中文字幕免费 | 久久久久九九九九九12| 亚洲 综合 欧美 一区| 96在线观看免费播放| 夏目彩春av在线看| 天天搞天天操天天干| av在线男人的天堂亚洲| 东京热日韩av在线| 日韩激情文学在线视频| 亚洲欧美不卡专业视频| 亚洲高清免费在线观看视频| 日本丰满熟妇浓密多毛| 亚洲av综合av一去二区三区| 一区二区三区高清视频3| 国产人妻777人伦精品hd超碰| 国产成人在线观看hd| 欧美亚洲国产一区二区| 精产国品一二三77777| 中国精品人妻一区二区| 亚洲女人自熨在线视频| 午夜在线观看一级毛| 97人妻人人揉人人躁人人夜夜爽| 日韩人妻中文字幕二区 | 在线观看视频免费一区二区三区| 亚洲va999天堂va| 92麻豆一区二区三区| 无人区一码二码三码区别在哪| 亚洲美女色www色| 欧美在线视频不卡一区| 黄色网络中文字幕日本| 亚洲熟女少妇中文字幕系列| 日韩成人精品久久久免费看| 一区二区九日韩美女| 熟女一区二区三区综合| 91性高湖久久久久久久久久| 上床啪啪啪免费视频| avgo成人短视频| 青青草成人免费自拍视频| 天天在线播放日韩av| 中文字幕一区二区三区久久久| 欧美日韩在线观看免费播放| 自拍偷拍 亚洲性图 欧美另类| 亚洲熟女少妇中文字幕系列| 欧美日韩久久丝袜在线| 亚洲熟女一区二区三区250p| 国产精品 亚洲欧美 自拍偷拍| 亚洲av手机免费在线| 亚洲欧美国产一本综合首页| 精品国产污污污免费入口| 男人资源站中文字幕| 成人做爰av在线观看网站| 上床啪啪啪免费视频| 美女扒开逼逼给你看| 大尺度av毛片在线网址| 亚洲一区视频中文字幕在线播放| 91精品一区一区三区| 加勒比不卡在线视频| 69av精品国产探花| 性感美女人妻久久久| 红桃视频国产av在线| 亚洲欧美日韩电影一区| 国产91免费在线观看| 国产资源在线观看二区| 日韩最近中文在线观看| 加勒比不卡在线视频| 99久久人人爽亚洲精品美女| 开心五月综合激情婷婷| 日本男女免费福利视频| 亚洲中文字幕最新地址| 中文字幕在线字幕乱码怎么设置| 亚洲精品一区二区gif| 国产igao激情在线视频入口| 91亚洲最新蜜桃在线| 国产激情视频在线观看的| 9662av在线视频| 亚洲成人 国产精品| 国产av嗯嗯啊啊av| 日本少妇人妻凌辱在线| 午夜精品视频免费观看| 操人妻人妻天天爽天天偷| 9久re热视频在线精品| 国产精品网站亚洲发布| 加勒比东京热绿帽人妻多人操| 亚洲成人偷拍自拍在线| 精品欧美黑人一区二区三区| 黄色片黄色片黄色片黄色片黄色 | 午夜久久久久欠久久久久| 久久久久国产精品二区| 91大神在线免费观看视频| alisontyler和黑人| 老熟女xxxⅹhd老熟女性| 国产精品午夜无码AV体验区| 在线观看网站伊人网| 后入日韩翘臀蜜桃臀美女| 亚洲成人偷拍自拍在线| 韩日一级人添人人澡人人妻精品| 国产av精品一区二区三区久久| 内地精品毛片在线观看| 夜夜人人干人人爱人人操| 制服丝袜 中文字幕 日韩| 亚洲熟女一区二区三区250p| 久久国产半精品99精品国产| 人妻系列级片在线观看视频| 婷婷六月天在线视频| 中文字幕日韩首页欧美在线激情| 猫咪亚洲中文在线中文字幕| 国产激情在线观看一区二区三区|