日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android组件化开发实践(九):自定义Gradle插件

發(fā)布時間:2024/1/17 Android 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android组件化开发实践(九):自定义Gradle插件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文緊接著前一章Android組件化開發(fā)實踐(八):組件生命周期如何實現(xiàn)自動注冊管理,主要講解怎么通過自定義插件來實現(xiàn)組件生命周期的自動注冊管理。

1. 采用groovy創(chuàng)建插件

新建一個Java Library module,命名為lifecycle-plugin,刪除 src->main 下面的java目錄,新建一個groovy目錄,在groovy目錄下創(chuàng)建類似java的package,在 src->main 下面創(chuàng)建一個 resources 目錄,在resources目錄下依次創(chuàng)建 META-INF/gradle-plugins 目錄,最后在該目錄下創(chuàng)建一個名為 com.hm.plugin.lifecycle.properties的文本文件,文件名是你要定義的插件名,按需自定義即可。最后的工程結構如圖所示:

修改module的build.gradle文件,引入groovy插件等:

apply plugin: 'java-library' apply plugin: 'groovy' apply plugin: 'maven'dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])compile gradleApi()compile localGroovy()compile 'com.android.tools.build:transform-api:1.5.0'compile 'com.android.tools.build:gradle:3.0.1' }sourceCompatibility = "1.7" targetCompatibility = "1.7"//通過maven將插件發(fā)布到本地的腳本配置,根據(jù)自己的要求來修改 uploadArchives {repositories.mavenDeployer {pom.version = '1.0.0'pom.artifactId = 'hmlifecyclepluginlocal'pom.groupId = 'com.heima.iou'repository(url: "file:///Users/hjy/.m2/repository/")} }

這里有幾點需要說明的是:

  • 通常都是采用groovy語言來創(chuàng)建gradle plugin的,groovy是兼容java的,你完全可以采用java來編寫插件。關于groovy語言,了解一些基礎語法就足夠支撐我們?nèi)ゾ帉懖寮恕?/li>
  • src/main/resources/META-INF/gradle-plugins目錄下定義插件聲明,*.properties文件的文件名就是插件名稱。
  • 2. 實現(xiàn)Plugin接口

    要編寫一個插件是很簡單的,只需實現(xiàn)Plugin接口即可。

    package com.hm.iou.lifecycle.pluginimport com.android.build.gradle.AppExtension import org.gradle.api.Plugin import org.gradle.api.Projectclass LifeCyclePlugin implements Plugin<Project>{@Overridevoid apply(Project project) {println "------LifeCycle plugin entrance-------"} }

    接著在com.hm.plugin.lifecycle.properties文件里增加配置:

    implementation-class=com.hm.iou.lifecycle.plugin.LifeCyclePlugin

    其中implementation-class的值為Plugin接口的實現(xiàn)類的全限定類名,至此為止一個最簡單的插件編寫好了,它的功能很簡單,僅僅是在控制臺打印一句文本而已。

    我們通過maven將該插件發(fā)布到本地的maven倉庫里,發(fā)布成功后,我們在app module里引入該插件,修改app module目錄下的build.gradle文件,增加如下配置:

    apply plugin: 'com.android.application' //引入自定義插件,插件名與前面的*.properties文件的文件名是一致的 apply plugin: 'com.hm.plugin.lifecycle' buildscript {repositories {google()jcenter()//自定義插件maven地址,替換成你自己的maven地址maven { url 'file:///Users/hjy/.m2/repository/' }}dependencies {//通過maven加載自定義插件classpath 'com.heima.iou:hmlifecyclepluginlocal:1.0.0'} }

    我們build一下工程,在Gradle Console里會打印出"------LifeCycle plugin entrance-------"來,這說明我們的自定義插件成功了。

    講到這里可以看到,按這個步驟實現(xiàn)一個gradle插件是很簡單的,它并沒有我們想象中那么高深莫測,你也可以自豪地說我會制作gradle插件了。

    3. Gradle Transform

    然而前面這個插件并沒有什么卵用,它僅僅只是在編譯時,在控制臺打印一句話而已。那么怎么通過插件在打包前去掃描所有的class文件呢,幸運的是官方給我們提供了 Gradle Transform技術,簡單來說就是能夠讓開發(fā)者在項目構建階段即由class到dex轉換期間修改class文件,Transform階段會掃描所有的class文件和資源文件,具體技術我這里不詳細展開,下面通過偽代碼部分說下我的思路。

    //只需要繼承Transform類即可 class LifeCycleTransform extends Transform {Project projectLifeCycleTransform(Project project) {this.project = project}//該Transform的名稱,自定義即可,只是一個標識@OverrideString getName() {return "LifeCycleTransform"}//該Transform支持掃描的文件類型,分為class文件和資源文件,我們這里只處理class文件的掃描@OverrideSet<QualifiedContent.ContentType> getInputTypes() {return TransformManager.CONTENT_CLASS}//Transfrom的掃描范圍,我這里掃描整個工程,包括當前module以及其他jar包、aar文件等所有的class@OverrideSet<? super QualifiedContent.Scope> getScopes() {return TransformManager.SCOPE_FULL_PROJECT}//是否增量掃描@Overrideboolean isIncremental() {return true}@Overridevoid transform(Context context, Collection<TransformInput> inputs, Collection<TransformInput> referencedInputs,TransformOutputProvider outputProvider, boolean isIncremental) throws IOException, TransformException, InterruptedException {println "\nstart to transform-------------->>>>>>>"def appLikeProxyClassList = []//inputs就是所有掃描到的class文件或者是jar包,一共2種類型inputs.each { TransformInput input ->//1.遍歷所有的class文件目錄input.directoryInputs.each { DirectoryInput directoryInput ->//遞歸掃描該目錄下所有的class文件if (directoryInput.file.isDirectory()) {directoryInput.file.eachFileRecurse {File file ->//形如 Heima$$****$$Proxy.class 的類,是我們要找的目標class,直接通過class的名稱來判斷,也可以再加上包名的判斷,會更嚴謹點if (ScanUtil.isTargetProxyClass(file)) {//如果是我們自己生產(chǎn)的代理類,保存該類的類名appLikeProxyClassList.add(file.name)}}}//Transform掃描的class文件是輸入文件(input),有輸入必然會有輸出(output),處理完成后需要將輸入文件拷貝到一個輸出目錄下去,//后面打包將class文件轉換成dex文件時,直接采用的就是輸出目錄下的class文件了。//必須這樣獲取輸出路徑的目錄名稱def dest = outputProvider.getContentLocation(directoryInput.name, directoryInput.contentTypes, directoryInput.scopes, Format.DIRECTORY)FileUtils.copyDirectory(directoryInput.file, dest)}//2.遍歷查找所有的jar包input.jarInputs.each { JarInput jarInput ->println "\njarInput = ${jarInput}"//與處理class文件一樣,處理jar包也是一樣,最后要將inputs轉換為outputsdef jarName = jarInput.namedef md5 = DigestUtils.md5Hex(jarInput.file.getAbsolutePath())if (jarName.endsWith(".jar")) {jarName = jarName.substring(0, jarName.length() - 4)}//獲取輸出路徑下的jar包名稱,必須這樣獲取,得到的輸出路徑名不能重復,否則會被覆蓋def dest = outputProvider.getContentLocation(jarName + md5, jarInput.contentTypes, jarInput.scopes, Format.JAR)if (jarInput.file.getAbsolutePath().endsWith(".jar")) {File src = jarInput.file//先簡單過濾掉 support-v4 之類的jar包,只處理有我們業(yè)務邏輯的jar包if (ScanUtil.shouldProcessPreDexJar(src.absolutePath)) {//掃描jar包的核心代碼在這里,主要做2件事情://1.掃描該jar包里有沒有實現(xiàn)IAppLike接口的代理類;//2.掃描AppLifeCycleManager這個類在哪個jar包里,并記錄下來,后面需要在該類里動態(tài)注入字節(jié)碼;List<String> list = ScanUtil.scanJar(src, dest)if (list != null) {appLikeProxyClassList.addAll(list)}}}//將輸入文件拷貝到輸出目錄下FileUtils.copyFile(jarInput.file, dest)}}println ""appLikeProxyClassList.forEach({fileName ->println "file name = " + fileName})println "\n包含AppLifeCycleManager類的jar文件"println ScanUtil.FILE_CONTAINS_INIT_CLASS.getAbsolutePath()println "開始自動注冊"//1.通過前面的步驟,我們已經(jīng)掃描到所有實現(xiàn)了 IAppLike接口的代理類;//2.后面需要在 AppLifeCycleManager 這個類的初始化方法里,動態(tài)注入字節(jié)碼;//3.將所有 IAppLike 接口的代理類,通過類名進行反射調(diào)用實例化//這樣最終生成的apk包里,AppLifeCycleManager調(diào)用init()方法時,已經(jīng)可以加載所有組件的生命周期類了new AppLikeCodeInjector(appLikeProxyClassList).execute()println "transform finish----------------<<<<<<<\n"} }

    我們來看看ScanUtil類里的代碼邏輯:

    class ScanUtil {static final PROXY_CLASS_PREFIX = "Heima\$\$"static final PROXY_CLASS_SUFFIX = "\$\$Proxy.class"//注意class文件名中的包名是以“/”分隔開,而不是“.”分隔的,這個包名是我們通過APT生成的所有 IAppLike 代理類的包名static final PROXY_CLASS_PACKAGE_NAME = "com/hm/iou/lifecycle/apt/proxy"//AppLifeCycleManager是應用生命周期框架初始化方法調(diào)用類static final REGISTER_CLASS_FILE_NAME = "com/hm/lifecycle/api/AppLifeCycleManager.class"//包含生命周期管理初始化類的文件,即包含 com.hm.lifecycle.api.AppLifeCycleManager 類的class文件或者jar文件static File FILE_CONTAINS_INIT_CLASS/*** 判斷該class是否是我們的目標類** @param file* @return*/static boolean isTargetProxyClass(File file) {if (file.name.endsWith(PROXY_CLASS_SUFFIX) && file.name.startsWith(PROXY_CLASS_PREFIX)) {return true}return false}/*** 掃描jar包里的所有class文件:* 1.通過包名識別所有需要注入的類名* 2.找到AppLifeCycleManager類所在的jar包,后面我們會在該jar包里進行代碼注入** @param jarFile* @param destFile* @return*/static List<String> scanJar(File jarFile, File destFile) {def file = new JarFile(jarFile)Enumeration<JarEntry> enumeration = file.entries()List<String> list = nullwhile (enumeration.hasMoreElements()) {//遍歷這個jar包里的所有class文件項JarEntry jarEntry = enumeration.nextElement()//class文件的名稱,這里是全路徑類名,包名之間以"/"分隔String entryName = jarEntry.getName()if (entryName == REGISTER_CLASS_FILE_NAME) {//標記這個jar包包含 AppLifeCycleManager.class//掃描結束后,我們會生成注冊代碼到這個文件里FILE_CONTAINS_INIT_CLASS = destFile} else {//通過包名來判斷,嚴謹點還可以加上類名前綴、后綴判斷//通過APT生成的類,都有統(tǒng)一的前綴、后綴if (entryName.startsWith(PROXY_CLASS_PACKAGE_NAME)) {if (list == null) {list = new ArrayList<>()}list.addAll(entryName.substring(entryName.lastIndexOf("/") + 1))}}}return list}static boolean shouldProcessPreDexJar(String path) {return !path.contains("com.android.support") && !path.contains("/android/m2repository")}}

    修改Plugin接口實現(xiàn)類,在插件中注冊該Transfrom:

    class LifeCyclePlugin implements Plugin<Project>{@Overridevoid apply(Project project) {println "------LifeCycle plugin entrance-------"def android = project.extensions.getByType(AppExtension)android.registerTransform(new LifeCycleTransform(project))} }

    前面的代碼里,先注釋掉LifeCycleTransform類里的AppLikeCodeInjector相關代碼,這塊我們后面再講。我們再新建一個Android Library module,在該module里創(chuàng)建 ModuleCAppLike、ModuleDAppLike,同樣都實現(xiàn)IAppLike接口并采用@AppLifeCycle作為注解。最后采用最新的插件重新build一下工程,看看Gradle Console里的輸出信息。

    file name = Heima$$ModuleCAppLike$$Proxy.class file name = Heima$$ModuleDAppLike$$Proxy.class file name = Heima$$ModuleAAppLike$$Proxy.class file name = Heima$$ModuleBAppLike$$Proxy.class包含AppLifeCycleManager類的jar文件 /Users/hjy/Desktop/heima/code/gitlab/HM-AppLifeCycleMgr/app/build/intermediates/transforms/LifeCycleTransform/debug/17.jar

    可以看到,在Transform過程中,我們找到了ModuleAAppLike、ModuleBAppLike、ModuleCAppLike、ModuleDAppLike這4個類的代理類,以及AppLifeCycleManager這個class文件所在的jar包。

    在app->build->intermediates->transforms中,可以看到所有的Transform,包括我們剛才自定義的Transform。從上圖中可以看到,這里的0.jar、1.jar、2.jar等等,都是通過outputProvider.getContentLocation()方法來生成的,這個Transform目錄下的class文件、jar包等,會當做下一個Transform的inputs傳遞過去。

    4. 通過ASM動態(tài)修改字節(jié)碼

    到現(xiàn)在,我們只剩下最后一步了,那就是如何注入代碼了。ASM 是一個 Java 字節(jié)碼操控框架,它能被用來動態(tài)生成類或者增強既有類的功能。我這里對ASM不做詳細介紹了,主要是介紹使用ASM動態(tài)注入代碼的思路。

    首先,我們修改一下AppLifeCycleManager類,增加動態(tài)注入字節(jié)碼的入口方法:

    /*** 通過插件加載 IAppLike 類*/private static void loadAppLike() {}//通過反射去加載 IAppLike 類的實例private static void registerAppLike(String className) {if (TextUtils.isEmpty(className))return;try {Object obj = Class.forName(className).getConstructor().newInstance();if (obj instanceof IAppLike) {APP_LIKE_LIST.add((IAppLike) obj);}} catch (Exception e) {e.printStackTrace();}}/*** 初始化** @param context*/public static void init(Context context) {//通過插件加載 IAppLike 類loadAppLike();Collections.sort(APP_LIKE_LIST, new AppLikeComparator());for (IAppLike appLike : APP_LIKE_LIST) {appLike.onCreate(context);}}

    相比之前,這里增加了一個loadAppLike()方法,在init()方法調(diào)用時會先執(zhí)行。通過前面Transform步驟之后,我們現(xiàn)在的目標是把代碼動態(tài)插入到loadAppLike()方法里,下面這段代碼是我們期望插入后的結果:

    private static void loadAppLike() {registerAppLike("com.hm.iou.lifecycle.apt.proxy.Heima$$ModuleAAppLike$$Proxy");registerAppLike("com.hm.iou.lifecycle.apt.proxy.Heima$$ModuleBAppLike$$Proxy");registerAppLike("com.hm.iou.lifecycle.apt.proxy.Heima$$ModuleCAppLike$$Proxy");registerAppLike("com.hm.iou.lifecycle.apt.proxy.Heima$$ModuleDAppLike$$Proxy"); }

    這樣在初始化時,就已經(jīng)知道要加載哪些生命周期類,來看看具體實現(xiàn)方法,關于ASM不了解的地方,需要先搞清楚其使用方法再來閱讀:

    class AppLikeCodeInjector {//掃描出來的所有 IAppLike 類List<String> proxyAppLikeClassListAppLikeCodeInjector(List<String> list) {proxyAppLikeClassList = list}void execute() {println("開始執(zhí)行ASM方法======>>>>>>>>")File srcFile = ScanUtil.FILE_CONTAINS_INIT_CLASS//創(chuàng)建一個臨時jar文件,要修改注入的字節(jié)碼會先寫入該文件里def optJar = new File(srcFile.getParent(), srcFile.name + ".opt")if (optJar.exists())optJar.delete()def file = new JarFile(srcFile)Enumeration<JarEntry> enumeration = file.entries()JarOutputStream jarOutputStream = new JarOutputStream(new FileOutputStream(optJar))while (enumeration.hasMoreElements()) {JarEntry jarEntry = enumeration.nextElement()String entryName = jarEntry.getName()ZipEntry zipEntry = new ZipEntry(entryName)InputStream inputStream = file.getInputStream(jarEntry)jarOutputStream.putNextEntry(zipEntry)//找到需要插入代碼的class,通過ASM動態(tài)注入字節(jié)碼if (ScanUtil.REGISTER_CLASS_FILE_NAME == entryName) {println "insert register code to class >> " + entryNameClassReader classReader = new ClassReader(inputStream)// 構建一個ClassWriter對象,并設置讓系統(tǒng)自動計算棧和本地變量大小ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_MAXS)ClassVisitor classVisitor = new AppLikeClassVisitor(classWriter)//開始掃描class文件classReader.accept(classVisitor, ClassReader.EXPAND_FRAMES)byte[] bytes = classWriter.toByteArray()//將注入過字節(jié)碼的class,寫入臨時jar文件里jarOutputStream.write(bytes)} else {//不需要修改的class,原樣寫入臨時jar文件里jarOutputStream.write(IOUtils.toByteArray(inputStream))}inputStream.close()jarOutputStream.closeEntry()}jarOutputStream.close()file.close()//刪除原來的jar文件if (srcFile.exists()) {srcFile.delete()}//重新命名臨時jar文件,新的jar包里已經(jīng)包含了我們注入的字節(jié)碼了optJar.renameTo(srcFile)}//插入字節(jié)碼的邏輯,都在這個類里面class AppLikeClassVisitor extends ClassVisitor {AppLikeClassVisitor(ClassVisitor classVisitor) {super(Opcodes.ASM5, classVisitor)}@OverrideMethodVisitor visitMethod(int access, String name,String desc, String signature,String[] exception) {println "visit method: " + nameMethodVisitor mv = super.visitMethod(access, name, desc, signature, exception)//找到 AppLifeCycleManager里的loadAppLike()方法,我們在這個方法里插入字節(jié)碼if ("loadAppLike" == name) {mv = new LoadAppLikeMethodAdapter(mv, access, name, desc)}return mv}}class LoadAppLikeMethodAdapter extends AdviceAdapter {LoadAppLikeMethodAdapter(MethodVisitor mv, int access, String name, String desc) {super(Opcodes.ASM5, mv, access, name, desc)}@Overrideprotected void onMethodEnter() {super.onMethodEnter()println "-------onMethodEnter------"//遍歷插入字節(jié)碼,其實就是在 loadAppLike() 方法里插入類似registerAppLike("");的字節(jié)碼proxyAppLikeClassList.forEach({proxyClassName ->println "開始注入代碼:${proxyClassName}"def fullName = ScanUtil.PROXY_CLASS_PACKAGE_NAME.replace("/", ".") + "." + proxyClassName.substring(0, proxyClassName.length() - 6)println "full classname = ${fullName}"mv.visitLdcInsn(fullName)mv.visitMethodInsn(INVOKESTATIC, "com/hm/lifecycle/api/AppLifeCycleManager", "registerAppLike", "(Ljava/lang/String;)V", false);})}@Overrideprotected void onMethodExit(int opcode) {super.onMethodExit(opcode)println "-------onMethodEnter------"}}}

    最后重新編譯插件再運行,驗證結果。

    這里有個比較困難的地方,就是需要使用ASM編寫class字節(jié)碼。我這里推薦一個比較好用的方法:

  • 將要注入的java源碼先寫出來;
  • 通過javac編譯出class文件;
  • 通過asm-all.jar反編譯該class文件,可得到所需的ASM注入代碼;
    執(zhí)行命令如下:
  • java -classpath "asm-all.jar" org.objectweb.asm.util.ASMifier com/hm/lifecycle/api/AppLifeCycleManager.class

    從中找到loadAppLike()方法字節(jié)碼處,這樣通過ASM注入代碼就比較簡單了:

    { mv = cw.visitMethod(ACC_PRIVATE + ACC_STATIC, "loadAppLike", "()V", null, null); mv.visitCode(); mv.visitLdcInsn("com.hm.iou.lifecycle.apt.proxy.Heima$$ModuleAAppLike$$Proxy"); mv.visitMethodInsn(INVOKESTATIC, "com/hm/lifecycle/api/AppLifeCycleManager", "registerAppLike", "(Ljava/lang/String;)V", false); mv.visitInsn(RETURN); mv.visitMaxs(1, 0); mv.visitEnd(); }

    5. 小結

    結合前一章我們基本上實現(xiàn)了自動注冊加載組件的生命周期管理類,做到了無侵入式的服務注冊,離我們的徹底組件化解耦更近一步了。本文有些地方借鑒了阿里的路由框架ARouter,其基本思路是一致的,弄懂了這些也基本上就弄懂了ARouter的實現(xiàn)原理 ,原理弄清楚了之后,在此基礎上咱們寫出自己的框架也不是什么難事了。

    源碼地址:https://github.com/houjinyun/Android-AppLifecycleMgr
    源碼已經(jīng)托管到github上了, 有興趣的可以跟我留言,互相交流學習進步。

    系列文章
    Android組件化開發(fā)實踐(一):為什么要進行組件化開發(fā)?
    Android組件化開發(fā)實踐(二):組件化架構設計
    Android組件化開發(fā)實踐(三):組件開發(fā)規(guī)范
    Android組件化開發(fā)實踐(四):組件間通信問題
    Android組件化開發(fā)實踐(五):組件生命周期管理
    Android組件化開發(fā)實踐(六):老項目實施組件化
    Android組件化開發(fā)實踐(七):開發(fā)常見問題及解決方案
    Android組件化開發(fā)實踐(八):組件生命周期如何實現(xiàn)自動注冊管理
    Android組件化開發(fā)實踐(九):自定義Gradle插件

    總結

    以上是生活随笔為你收集整理的Android组件化开发实践(九):自定义Gradle插件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    超碰在线99| 五月天色综合 | wwwwww色| 国产91全国探花系列在线播放 | 在线视频观看你懂的 | 99久热在线精品视频观看 | 丁香网五月天 | 久久视频这里有久久精品视频11 | 亚洲免费在线视频 | 久久精品中文字幕少妇 | www.午夜视频| 成人久久亚洲 | 久久69精品久久久久久久电影好 | 亚洲精品在线观看视频 | 日韩精品一区二区三区高清免费 | 狠狠色2019综合网 | 精品二区视频 | 国产玖玖在线 | 亚洲韩国一区二区三区 | 国产一区二区在线免费 | 国产伦理久久精品久久久久_ | 天天操夜夜操天天射 | 国产99久久九九精品免费 | 色婷婷导航 | 亚欧洲精品视频在线观看 | 丁香花在线视频观看免费 | 国产成人亚洲精品自产在线 | 久久久久久蜜av免费网站 | 狠狠的日日 | 97国产精品一区二区 | 国产一级免费播放 | 欧美三级免费 | 久久国产手机看片 | 免费观看黄色12片一级视频 | 欧美日韩国产精品一区二区 | 久久久精品福利视频 | 超碰在线人 | 久久a v视频 | 久久综合五月天婷婷伊人 | 97理论片| 蜜臀一区二区三区精品免费视频 | 久久综合免费视频 | 美女国产精品 | 人九九精品 | 日韩毛片一区 | 免费av看片 | av在线永久免费观看 | 91精品免费在线 | 在线免费观看国产精品 | 免费观看全黄做爰大片国产 | 国产一二区免费视频 | 2022中文字幕在线观看 | 亚洲久草视频 | 在线观看av网站 | 亚洲精品乱码久久久久 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 在线看成人 | 日韩免费在线 | 在线小视频你懂的 | 黄色福利视频网站 | 在线观看成年人 | 免费精品在线观看 | 久久这里只有精品1 | 最近2019中文免费高清视频观看www99 | 日韩综合第一页 | av中文字幕免费在线观看 | 国产一区在线播放 | 天天天操天天天干 | 中文字幕刺激在线 | 在线视频一二三 | 综合伊人av | 91免费的视频在线播放 | 91av欧美 | 久久一区二区三区国产精品 | 国产精品福利午夜在线观看 | 日韩成人黄色 | 9在线观看免费 | av无限看| 亚洲电影院 | 日本精品久久 | 成人福利av| 三三级黄色片之日韩 | 免费在线观看视频a | 五月天六月婷婷 | 成人性生爱a∨ | 精品亚洲视频在线观看 | 国产亚洲精品成人av久久影院 | 视频在线一区二区三区 | 91av视频在线播放 | 免费97视频 | 日韩欧美在线免费 | 国产精品久久久久久超碰 | 国产一区二区三区在线 | 久久99亚洲精品 | 青草草在线 | 欧美成人高清 | 在线亚洲小视频 | 丁香综合五月 | 天天操天天操天天操天天操天天操天天操 | 四季av综合网站 | 91av视频在线观看免费 | 亚洲欧美视频在线 | 亚洲一区二区三区91 | 国产婷婷精品av在线 | 狠狠躁天天躁 | 成年人在线电影 | 在线v片免费观看视频 | 久久久久久美女 | 精品在线你懂的 | 精品一区电影国产 | 麻豆影视在线免费观看 | 精品久久久久久久久久久久久 | 99久免费精品视频在线观看 | 亚洲精品91天天久久人人 | 亚洲精品合集 | 国产高清免费视频 | 欧美日韩视频在线播放 | 久久精品99国产 | 天天干天天干 | 99精品视频播放 | 精品91久久久久 | 精品亚洲一区二区三区 | 日本精品视频一区 | 色网站在线免费观看 | 黄污在线看 | 久久精品看片 | 国产91国语对白在线 | 久久精品99国产精品亚洲最刺激 | 午夜精品久久久99热福利 | av手机版| 久久九九影视 | 久久久久久国产精品亚洲78 | 久久蜜臀一区二区三区av | 国产精品一区二区在线免费观看 | 啪啪精品 | av片一区 | 91精品在线免费 | 亚洲午夜精| 欧美精彩视频 | 日韩av电影中文字幕在线观看 | 婷婷六月天在线 | 国产又黄又爽又猛视频日本 | 国产伦精品一区二区三区高清 | 国产精品毛片一区二区在线 | 国产护士在线 | 日韩综合在线观看 | 日韩动漫免费观看高清完整版在线观看 | 激情丁香综合五月 | sm免费xx网站 | 国产高清视频免费观看 | 国产成人高清在线 | 国产精品久久久久久久久久不蜜月 | 五月花婷婷 | 视频成人免费 | 西西www4444大胆视频 | 中文永久免费观看 | 国产精品一区二区免费 | 在线观看亚洲国产 | 一区 二区 精品 | 黄色小说在线观看视频 | 国产精品2019 | 五月开心六月婷婷 | 久久精品1区 | 日韩免费网址 | 亚洲视频免费在线观看 | 久久久久久草 | 亚洲小视频在线 | 日韩动漫免费观看高清完整版在线观看 | 日本黄色大片儿 | 免费亚洲黄色 | 欧美 亚洲 另类 激情 另类 | 久久久99国产精品免费 | 欧美久久久久久久久久久 | 天天干天天做天天操 | 午夜精品久久久久久久99热影院 | 丁香六月色 | 81国产精品久久久久久久久久 | 夜夜骑天天操 | 久久在线播放 | 欧美国产日韩在线观看 | 日本精品视频免费观看 | 久免费| 欧美国产视频在线 | 国产精品久久久久久久久久东京 | av片一区 | 久久久久国产一区二区 | 欧美精品久久久久久久久久 | 国产精品久久久久久婷婷天堂 | 国产九九热视频 | 国产在线一区观看 | 超碰在线免费福利 | 国产一二三四在线视频 | 国产 日韩 在线 亚洲 字幕 中文 | 91丨九色丨首页 | 国产一级二级在线 | 美女视频黄频 | 成人cosplay福利网站 | 亚洲成人午夜在线 | 99久久久久成人国产免费 | 日韩欧美国产成人 | 欧美成人h版在线观看 | 日韩xxxbbb| 97超碰在线播放 | 激情丁香| 精品久久中文 | 免费视频 你懂的 | 日韩视频中文字幕在线观看 | 亚洲黄色在线观看 | 午夜在线免费观看 | av一二三区 | 免费在线观看的av网站 | 中文字幕在线高清 | 在线视频在线观看 | 亚洲国产精品久久久 | 久久黄色影院 | 97精品久久人人爽人人爽 | 亚洲码国产日韩欧美高潮在线播放 | av免费看看 | 西西大胆免费视频 | 久久免费国产电影 | 精品一区免费 | 久久精品一二三区白丝高潮 | 亚洲国产精品成人综合 | 天天曰夜夜爽 | 国产91综合一区在线观看 | 精品国产视频在线 | 一级片视频在线 | 黄色片免费看 | www.com黄| 国产精久久久久久妇女av | 一级黄色电影网站 | 一本一道久久a久久综合蜜桃 | japanesefreesex中国少妇 | 成人日批视频 | 一级黄色片在线播放 | 综合天天色 | 欧美久久久久久久久久久久久 | 狠狠干天天干 | 色婷婷视频 | 99免费视频| 成人午夜剧场在线观看 | 人人射人人插 | 久草在线最新免费 | 亚洲精品国产综合久久 | www色网站| 国产一区二区在线播放 | 高清av免费观看 | 国产天天爽| 欧美日韩一区二区免费在线观看 | 色wwwww| 99久久婷婷国产综合精品 | 曰韩在线 | 免费成人黄色片 | 免费美女久久99 | 国产探花视频在线播放 | 精品一区二区三区久久久 | 人人爽人人做 | 人人澡超碰碰 | 日p视频在线观看 | 国产小视频免费在线网址 | 成人久久影院 | 中文字幕最新精品 | 91黄色视屏| 日本在线观看中文字幕无线观看 | 97免费中文视频在线观看 | 欧美精品做受xxx性少妇 | 日本mv大片欧洲mv大片 | 日本护士三级少妇三级999 | 美女视频黄频大全免费 | 亚洲理论片在线观看 | 黄网av在线 | 国内精品视频在线播放 | 91人人在线 | 最新国产一区二区三区 | 黄色片视频在线观看 | 色综合久久久久综合体 | 久久精品一区二区三 | 韩国av电影网 | 天天干天天做天天操 | 久久久久久视频 | 日韩 在线a| 日韩国产在线观看 | 日日夜夜骑 | 亚洲精品久 | 日韩在线视频在线观看 | 久草com| 中文字幕在线影院 | 欧美激情精品久久久久久 | 国产成人精品网站 | 国产中文字幕第一页 | 黄色午夜网站 | 国产精品免费一区二区三区 | a天堂在线看 | 天天摸天天操天天爽 | 久久久久免费观看 | 成人在线免费视频观看 | 在线看片视频 | 精品久久网站 | 缴情综合网五月天 | 色在线免费视频 | 国产精品99久久久久久有的能看 | 国产亚洲精品免费 | 天天做天天爱天天综合网 | 国产精品激情偷乱一区二区∴ | 久久人人精品 | 免费av成人在线 | 国产黄色大片 | 天天色天天干天天色 | 色小说av| 成人av在线一区二区 | a在线视频v视频 | 91精品国自产在线 | 91精品电影 | 在线天堂日本 | 不卡国产在线 | 一级片视频在线 | 久久久久久激情 | 成人在线观看日韩 | 亚洲精品久久久蜜臀下载官网 | 欧美整片sss | 欧美一级片播放 | 亚洲欧美少妇 | 美女视频a美女大全免费下载蜜臀 | 国产精品网红直播 | 久久久久久黄 | 久久av中文字幕片 | 欧美色图亚洲图片 | 日韩精品视频一二三 | 国产精品黄色在线观看 | 国产精品久久久久久久久久了 | 免费在线中文字幕 | 国产精品一区二区av麻豆 | 成人app在线免费观看 | 一区二区三区不卡在线 | 欧美激情综合五月色丁香小说 | mm1313亚洲精品国产 | 国产 日韩 欧美 在线 | 精品少妇一区二区三区在线 | 69精品久久久 | 色99之美女主播在线视频 | 91成人午夜| 国产日韩精品欧美 | 97视频亚洲| 黄色软件在线观看免费 | 日韩精品不卡在线 | 97色免费视频 | 久久97精品| 免费在线色视频 | 丁香婷婷激情网 | 久久久不卡影院 | 伊人导航 | 97热在线观看 | 国产91九色视频 | 日韩免费专区 | 久久久免费毛片 | 五月综合网站 | 国产最新福利 | 欧美激情精品 | 99久久精品无码一区二区毛片 | 狠狠干天天操 | 婷婷在线看 | 中文字幕在线观看免费高清完整版 | 国产伦理久久精品久久久久_ | 久久久综合色 | 欧美日韩中文视频 | 91av久久 | 人人澡人人爱 | 久久免费在线 | 色中文字幕在线观看 | 日韩精品一区二区三区在线播放 | 毛片一级免费一级 | 亚洲免费成人 | 国产123av | 欧美精品午夜 | 97偷拍在线视频 | 在线国产精品一区 | 色综合久久精品 | 美女网站视频色 | 国产亚洲片 | 日韩经典一区二区三区 | 尤物九九久久国产精品的分类 | 亚洲一区欧美激情 | 国产精品一区二区免费在线观看 | 国产欧美久久久精品影院 | 精品视频99| 免费碰碰| 特级黄色视频毛片 | 成人免费视频网站 | 日本韩国精品一区二区在线观看 | 精品一区91 | 婷婷久久亚洲 | 欧美在线观看小视频 | 91精品一区二区三区久久久久久 | 日韩久久精品一区二区三区 | av电影在线免费观看 | 欧美亚洲免费在线一区 | 天天干天天碰 | 久久精品国产亚洲aⅴ | 中文字幕 在线 一 二 | 91精品综合在线观看 | 亚洲国产精品va在线看 | 国产99久久精品一区二区永久免费 | 久久国产影院 | 国产精品va最新国产精品视频 | 国产小视频在线 | 国产成年人av | 99热精品在线 | 99精品在线看 | 九九久久久| 狠狠色噜噜狠狠狠 | 国产精品18久久久久久首页狼 | 亚洲激情精品 | 成人在线黄色 | 国产成人黄色网址 | 在线观看 亚洲 | 免费看日韩 | 黄色三级网站在线观看 | 色婷婷成人网 | 欧美乱码精品一区 | 免费看片日韩 | 九九在线精品视频 | 在线观看黄av | 免费看黄色小说的网站 | 最新av在线播放 | 亚洲丝袜一区二区 | 伊人国产视频 | 婷婷色网站 | 黄色高清视频在线观看 | 色婷婷国产精品一区在线观看 | 久久综合狠狠综合久久综合88 | 欧美在线视频一区二区三区 | 日韩国产欧美在线视频 | 日日干天夜夜 | 区一区二区三区中文字幕 | 人人爽人人爽人人片av免 | 国产视频一区在线播放 | 免费在线观看一区 | 久热超碰 | 手机在线看a | 国产91精品一区二区 | 一级黄色片在线 | 超碰在97| 中文字幕 在线 一 二 | 欧美久久久久久久久久久久久 | 最新日韩视频 | 日韩av片免费在线观看 | 久久欧美在线电影 | 狠狠色网 | 丁香婷婷电影 | 国产高清在线免费 | 怡红院成人在线 | 人人添人人澡 | 成人在线免费看 | 日韩在线观看一区 | 91秒拍国产福利一区 | 亚洲精品视频免费在线 | 亚洲欧美va | 日韩免费成人av | 81精品国产乱码久久久久久 | 三三级黄色片之日韩 | 色综合久久久网 | 国产精品亚州 | 香蕉视频免费看 | 久久精品综合网 | 爱情影院aqdy鲁丝片二区 | 91精品国产乱码在线观看 | 免费福利片2019潦草影视午夜 | 99热日本 | 亚洲视频精品在线 | 国产精品一区二区白浆 | 日日干精品 | 精品99久久久久久 | 日本精品久久久久影院 | 992tv又爽又黄的免费视频 | 久久av伊人 | 日韩丝袜在线 | 国产成人一区二区在线观看 | 久久久久久久电影 | 男女全黄一级一级高潮免费看 | www国产亚洲精品久久麻豆 | 美女视频永久黄网站免费观看国产 | 涩涩网站在线看 | 伊人春色电影网 | 91亚洲成人 | 久久精品一区二 | av日韩在线网站 | 欧美坐爱视频 | 精品国产一区二区三区四区在线观看 | 三级在线国产 | www.日韩免费 | 黄色成人av在线 | 国产精品成人免费精品自在线观看 | 69国产盗摄一区二区三区五区 | 成人av免费在线观看 | 国产 字幕 制服 中文 在线 | 色99色| 日日干天天爽 | 精品欧美小视频在线观看 | 国产小视频你懂的 | 国产免费三级在线观看 | 久久精品视频2 | 中文字幕亚洲字幕 | 亚洲在线精品视频 | 国产一区不卡在线 | 国产精品原创视频 | 欧美一级片在线观看视频 | 日本精品视频免费观看 | 久久久激情视频 | 亚洲第一中文网 | 精品一二三四在线 | 久久优| 亚洲最大成人免费网站 | 天天爽天天摸 | 天天色天天 | av免费在线播放 | 国产亚洲精品久久久久动 | 色婷婷福利 | 日韩免费精品 | 欧美日在线观看 | 永久免费在线 | 亚洲成人黄色在线观看 | 亚洲精品国产日韩 | 在线之家官网 | 丁香婷婷色 | 国产精品专区h在线观看 | 91免费版在线 | 精品免费视频. | 国产一区二区成人 | 国产精品18久久久久久不卡孕妇 | 视频一区视频二区在线观看 | 午夜神马福利 | 91精品在线播放 | 久久久96| 激情文学丁香 | 国产拍揄自揄精品视频麻豆 | 久久精品一级片 | 国产成人一区二区三区免费看 | 深爱激情五月婷婷 | 玖玖在线免费视频 | 在线va视频 | 久草视频观看 | 亚洲91中文字幕无线码三区 | 波多野结衣一区二区 | 99re6热在线精品视频 | 国内精自线一二区永久 | 亚洲人av免费网站 | 99久久精品无免国产免费 | 99久久99久国产黄毛片 | 免费视频一级片 | 天天爽天天爽天天爽 | 一区在线播放 | 久久黄视频 | 91在线视频播放 | 日韩在线视频线视频免费网站 | 欧美成年人在线视频 | 91完整视频 | av片在线观看| 国产69精品久久久久99尤 | 人成午夜视频 | av黄色成人| 精品一区二区三区在线播放 | 国产视频第二页 | 日韩欧美91 | 美女免费黄视频网站 | 最近更新好看的中文字幕 | 91麻豆免费版 | 亚洲国产视频a | wwwwww国产| 日韩在线高清视频 | 182午夜在线观看 | 最近字幕在线观看第一季 | 99精品视频精品精品视频 | 99在线看 | 午夜av在线播放 | 日韩中文字幕视频在线 | 蜜臀久久99精品久久久酒店新书 | 欧美亚洲一级片 | 99精品视频在线免费观看 | 久久久九色精品国产一区二区三区 | 国产精品久久久一区二区三区网站 | 麻豆久久久久久久 | 日韩免费成人av | 狠狠躁18三区二区一区ai明星 | 欧美视频在线二区 | 亚洲激情视频 | 99激情网| 日韩激情久久 | 黄色片亚洲 | 五月婷丁香 | 在线观看播放av | 天堂在线视频中文网 | 在线黄色观看 | 国产午夜精品理论片在线 | 国产精品久久久久久婷婷天堂 | 国产69久久久 | 在线视频精品播放 | 久久免费av电影 | 在线观看亚洲免费视频 | 五月天综合激情 | 免费看日韩 | 国模精品一区二区三区 | 欧洲精品在线视频 | 久久久久免费网站 | 成人a毛片| 激情影院在线观看 | 国产精品k频道 | 97免费视频在线播放 | 超碰人在线 | 日韩 精品 一区 国产 麻豆 | 久久第四色 | 日韩av电影国产 | 国产日韩精品一区二区 | 91网站免费观看 | 久久9999久久免费精品国产 | 国产精品麻豆三级一区视频 | 在线免费av播放 | 天天av天天 | 日韩中文字幕第一页 | 91人人澡人人爽人人精品 | 草久久av | 成人黄色国产 | 草久草久| 国产69精品久久久久久久久久 | 成年美女黄网站色大片免费看 | 亚洲 中文 欧美 日韩vr 在线 | 国产xxxx | 99精品久久99久久久久 | www.午夜 | 亚洲精品国产片 | a在线播放 | 97超碰色偷偷 | 在线观看视频免费播放 | 激情视频一区二区三区 | 激情视频区 | 亚洲视频每日更新 | 91丨九色丨91啦蝌蚪老版 | 国产三级精品三级在线观看 | 激情视频91 | 91色在线观看视频 | 亚洲精品美女久久久久网站 | 一区二区三区四区在线免费观看 | 国产一级免费视频 | 国产大尺度视频 | 精品国产伦一区二区三区观看方式 | 国产色资源| 色偷偷网站视频 | 97偷拍在线视频 | 天天天天天天天操 | 欧美人体xx| 久久久久久久久久伊人 | 久久久久久久久久网站 | 欧美性生活久久 | 在线观看成人福利 | 国产精品大片在线观看 | 国产精品免费视频久久久 | 丁香六月婷 | 久久久伊人网 | 国产不卡在线观看视频 | 亚州人成在线播放 | 美女福利视频一区二区 | 欧美尹人 | 久草色在线观看 | 九九热免费视频在线观看 | 蜜桃av人人夜夜澡人人爽 | 国内亚洲精品 | 在线观看国产日韩 | 亚洲精品午夜久久久久久久 | 国产精品一区二区在线观看 | 激情网婷婷 | 五月天丁香亚洲 | 精品国产伦一区二区三区观看方式 | 久草在线视频新 | 日本 在线 视频 中文 有码 | 国产中文字幕在线免费观看 | 成人免费观看网址 | 粉嫩av一区二区三区四区五区 | 国产手机在线精品 | 国产aa精品| 青青河边草观看完整版高清 | 日韩在线不卡视频 | 国产区欧美 | 天天插狠狠干 | 国产69精品久久久久9999apgf | 亚洲不卡在线 | 欧美成人区 | 在线日韩中文字幕 | 国产99久久久国产精品 | 精品一区二区在线免费观看 | 日韩高清免费在线观看 | 久久婷婷开心 | 久久国产一区 | 天天爽天天做 | 成人网色| 97在线视频免费播放 | 99精品视频在线观看视频 | 日本午夜免费福利视频 | 成人中心免费视频 | 成人一区不卡 | 国产区精品 | 四虎免费在线观看 | av免费在线播放 | 在线免费观看国产精品 | 高清免费在线视频 | 欧美日韩国产精品一区 | 成+人+色综合 | 果冻av在线 | 一级久久久 | 99在线热播精品免费 | 成人亚洲精品久久久久 | 日韩成人在线免费观看 | 久久午夜精品视频 | 国产99黄| 欧美日韩视频精品 | av在线之家电影网站 | 亚洲午夜久久久久久久久久久 | 欧美一区二区在线免费看 | www.亚洲激情.com| a视频在线 | 国产91成人 | 国产传媒中文字幕 | 色综合婷婷 | 在线观看一 | 黄色软件在线观看视频 | 日韩特黄av | 免费在线观看毛片网站 | 亚洲综合色丁香婷婷六月图片 | 成人v| 成人中文字幕+乱码+中文字幕 | 欧美午夜久久久 | 亚洲亚洲精品在线观看 | 人人插人人玩 | 午夜久久网 | 综合天堂av久久久久久久 | 国产福利免费看 | 天天天天射 | 日韩欧美综合精品 | 在线观看激情av | 99视频国产精品 | 亚洲电影在线看 | 亚洲一级在线观看 | 网站你懂的 | 国产手机在线观看视频 | 久久99精品国产99久久6尤 | 色噜噜色噜噜 | 中文字幕免费国产精品 | 日韩黄色免费 | 91插插视频 | 国产 日韩 中文字幕 | 97视频资源 | 日韩色综合网 | 国产午夜精品久久久久久久久久 | 日韩大片在线播放 | 日本在线视频网址 | 九色精品在线 | 国产高清专区 | 91视频下载 | 99精品国产aⅴ | 国产精品一区二区三区久久久 | 日日操日日操 | 免费一级黄色 | 黄色日本免费 | 日韩免费网站 | 在线观看中文字幕第一页 | 午夜精品一区二区三区免费视频 | 欧美韩日在线 | 欧美精品久久天天躁 | 国产不卡一二三区 | 国产精品久久久999 国产91九色视频 | 激情视频一区二区 | 日韩视频一区二区 | 成人网444ppp | 狠狠色免费 | 国产高清成人 | 婷婷六月丁 | 久久久免费精品 | 亚洲精品av中文字幕在线在线 | 欧美久久久一区二区三区 | 欧美性受极品xxxx喷水 | 夜夜狠狠 | 91系列在线观看 | 日本黄色免费在线 | 亚洲天天综合 | 日韩乱色精品一区二区 | www五月天 | 激情视频在线高清看 | 欧美精品久久久久久久久老牛影院 | 国产这里只有精品 | 国产亚洲精品久久网站 | 亚州精品视频 | 在线免费黄色片 | 美女搞黄国产视频网站 | 国产色视频一区 | 久久国色夜色精品国产 | 一区在线免费观看 | 欧美a在线免费观看 | 九九久久成人 | 在线导航福利 | 这里只有精品视频在线观看 | 正在播放 久久 | 久久第四色| 狠狠色狠狠色合久久伊人 | 亚洲干视频在线观看 | 香蕉影院在线播放 | 国产在线成人 | 中文字幕高清视频 | 国产高清av | 国产高清免费视频 | 亚洲mv大片欧洲mv大片免费 | 99视频免费 | 国产一区二区三精品久久久无广告 | 亚洲综合在线五月天 | 国产视频在线免费 | 色吧av色av | 色瓜 | 永久黄网站色视频免费观看w | 成年人在线免费看片 | 久久毛片网 | 国产一区二区三区在线免费观看 | 尤物九九久久国产精品的分类 | 九九日韩 | 色久天| 欧美日性视频 | 亚洲国产99 | 男女激情网址 | 五月婷婷综合激情网 | 中文字幕一区二区三区在线视频 | 久久久久女教师免费一区 | 亚洲人成精品久久久久 | 超碰免费在线公开 | 五月天色中色 | 国内精品久久久久久久影视麻豆 | 精品一区二区视频 | 欧美另类xxx | 午夜成人免费电影 | 亚洲一级免费观看 | 久久99在线视频 | 高清日韩一区二区 | 亚洲精品国产视频 | 国产最新福利 | 免费三级网 | 亚洲极色 | 国产99中文字幕 | 日韩av线观看 | 中文字幕欧美日韩va免费视频 | 亚洲激情在线视频 | 六月丁香婷婷久久 | 亚洲毛片在线观看. | 国产精品一区免费在线观看 | 亚洲精品视频在线看 | 91少妇精拍在线播放 | 成年人免费看片网站 | 国产精品人人做人人爽人人添 | av一区在线播放 | 美女久久久久久 | 免费福利在线播放 | 欧美日韩在线免费观看视频 | 中文字幕在 | 中文在线www | 麻豆国产网站入口 | 中文字幕一区二区三区四区 | 久热超碰| 日韩免费在线观看视频 | 久久久国产精品一区二区中文 | 欧美在线观看视频免费 | 国产精品国产三级国产 | 在线成人高清电影 | 欧美成人手机版 | www.狠狠 | 国产精品久久久久久久久久免费看 | 超碰最新网址 | 久久在线播放 | 99热这里只有精品1 av中文字幕日韩 | 免费看黄色小说的网站 | 国内精品在线观看视频 | 91精品欧美 | 久草久热 | 久久国产精品成人免费浪潮 | 成人午夜精品 | 天天干天天摸 | 中文字幕免费看 | 日韩精品免费在线观看 | 香蕉视频色 | 国产精品无 | 国产高清一级 | 国产免费一区二区三区网站免费 | 999久久久精品视频 日韩高清www | 国产精品a级 | 亚洲成人免费在线 | 五月天婷亚洲天综合网鲁鲁鲁 | 99热这里只有精品在线观看 | 日本xxxx.com| 免费a视频 | 在线国产一区二区 | 人人超碰在线 | 日韩欧美亚洲 | 久久专区 | 国产精品电影一区二区 | 久久久免费网站 | 欧美ⅹxxxxxx | www.国产高清 | 五月婷婷激情六月 | 亚洲欧美成人网 | 福利视频一区二区 | 国产成人精品在线观看 | 日韩精品一区二区三区在线播放 | 99久久精品免费 | 免费一级毛毛片 | 99久久夜色精品国产亚洲 | 黄色大片视频网站 | avwww在线| 欧美日韩一区二区三区在线观看视频 | 激情av在线播放 | 国产不卡片 | 黄色国产成人 | 在线观看免费国产小视频 | 精品国产精品久久 | 久草精品国产 | 久久a久久| 午夜免费在线观看 | 五月婷婷婷婷婷 | 久久夜色电影 | 国产精品一区二区在线免费观看 | 97在线观看免费高清完整版在线观看 | 三级av中文字幕 | 久草爱视频 | 美女一级毛片视频 | 亚洲影音先锋 | 中文在线√天堂 | 国产免费久久av | 日韩免费电影网站 | 手机在线永久免费观看av片 | 亚洲不卡av一区二区三区 | 亚洲精品在线观看的 | 在线 视频 一区二区 | 91精品久久久久久久99蜜桃 | 久久一线 | 免费看短 | av资源免费观看 | 国产综合在线视频 | 亚洲成av人影院 | 九九视频在线播放 | 日韩久久精品一区 | 久久亚洲福利视频 | 亚洲欧美综合精品久久成人 | 国产美女主播精品一区二区三区 | 国产成人精品av在线 | 五月天激情视频在线观看 | 国产精品一区在线观看你懂的 | 久久久久久久久久久免费 | 成年人免费在线 | 国产手机视频在线播放 | 亚洲人成人99网站 | 手机在线小视频 | 九九在线免费视频 | 欧美精品久久久久久久久久丰满 | 激情欧美xxxx | 中文字幕在线观看2018 | 国产综合香蕉五月婷在线 | 狠狠夜夜 | 日本精品一区二区三区在线观看 | av大全在线 | 日韩视频一区二区三区在线播放免费观看 | 91av蜜桃| 久久tv视频| 久久久精品国产免费观看一区二区 | 丁香婷婷综合激情五月色 | 国产原创91 | 久草视频精品 | www久久国产 | 国产精品一区一区三区 | 久久久久免费精品 | 日韩色在线观看 | 中文字幕在线观看2018 | 久久久免费国产 | 午夜12点| 亚洲午夜久久久久久久久电影网 | 成人理论电影 | 国产免费视频在线 | 激情av网址 | 97人人澡人人添人人爽超碰 | 久久精品久久久精品美女 | 成人黄色电影免费观看 | 91精品一区在线观看 | 久久激情五月婷婷 | 一区二区精品视频 | 天天色天天射天天干 | 国产91小视频 | 国产v欧美 | 国产原厂视频在线观看 | 久久激情五月丁香伊人 | 国产不卡av在线 | 欧美日韩亚洲第一 | 亚洲精品在线观看不卡 | 涩涩在线 | 国产不卡av在线播放 | 福利一区在线视频 | 99精品福利视频 | 男女激情麻豆 |