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

歡迎訪問 生活随笔!

生活随笔

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

Android

理解Android Binder机制(3/3):Java层

發(fā)布時間:2025/3/15 Android 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 理解Android Binder机制(3/3):Java层 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文是Android Binder機制解析的第三篇,也是最后一篇文章。本文會講解Binder Framework Java部分的邏輯。

Binder機制分析的前面兩篇文章,請移步這里:

理解Android Binder機制(1/3):驅(qū)動篇

理解Android Binder機制(2/3):C++層):驅(qū)動篇

下文所講內(nèi)容的相關源碼,在AOSP源碼樹中的路徑如下:

// Binder Framework JNI /frameworks/base/core/jni/android_util_Binder.h /frameworks/base/core/jni/android_util_Binder.cpp /frameworks/base/core/jni/android_os_Parcel.h /frameworks/base/core/jni/android_os_Parcel.cpp// Binder Framework Java接口 /frameworks/base/core/java/android/os/Binder.java /frameworks/base/core/java/android/os/IBinder.java /frameworks/base/core/java/android/os/IInterface.java /frameworks/base/core/java/android/os/Parcel.java

主要結(jié)構(gòu)

Android應用程序使用Java語言開發(fā),Binder框架自然也少不了在Java層提供接口。

前文中我們看到,Binder機制在C++層已經(jīng)有了完整的實現(xiàn)。因此Java層完全不用重復實現(xiàn),而是通過JNI銜接了C++層以復用其實現(xiàn)。

下圖描述了Binder Framework Java層到C++層的銜接關系。

這里對圖中Java層和JNI層的幾個類做一下說明( 關于C++層的講解請看這里?):

名稱類型說明
IInterfaceinterface供Java層Binder服務接口繼承的接口
IBinderinterfaceJava層的IBinder類,提供了transact方法來調(diào)用遠程服務
Binderclass實現(xiàn)了IBinder接口,封裝了JNI的實現(xiàn)。Java層Binder服務的基類
BinderProxyclass實現(xiàn)了IBinder接口,封裝了JNI的實現(xiàn)。提供transact方法調(diào)用遠程服務
JavaBBinderHolderclass內(nèi)部存儲了JavaBBinder
JavaBBinderclass將C++端的onTransact調(diào)用傳遞到Java端
ParcelclassJava層的數(shù)據(jù)包裝器,見C++層的Parcel類分析

這里的IInterface,IBinder和C++層的兩個類是同名的。這個同名并不是巧合:它們不僅僅同名,它們所起的作用,以及其中包含的接口都是幾乎一樣的,區(qū)別僅僅在于一個是C++層,一個是Java層而已。

除了IInterface,IBinder之外,這里Binder與BinderProxy類也是與C++的類對應的,下面列出了Java層和C++層類的對應關系:

C++Java層
IInterfaceIInterface
IBinderIBinder
BBinderBinder
BpProxyBinderProxy
ParcelParcel

JNI的銜接

JNI全稱是Java Native Interface,這個是由Java虛擬機提供的機制。這個機制使得native代碼可以和Java代碼互相通訊。簡單來說就是:我們可以在C/C++端調(diào)用Java代碼,也可以在Java端調(diào)用C/C++代碼。

關于JNI的詳細說明,可以參見Oracle的官方文檔:Java Native Interface?,這里不多說明。

實際上,在Android中很多的服務或者機制都是在C/C++層實現(xiàn)的,想要將這些實現(xiàn)復用到Java層,就必須通過JNI進行銜接。AOSP源碼中,/frameworks/base/core/jni/ 目錄下的源碼就是專門用來對接Framework層的JNI實現(xiàn)的。

看一下Binder.java的實現(xiàn)就會發(fā)現(xiàn),這里面有不少的方法都是用native關鍵字修飾的,并且沒有方法實現(xiàn)體,這些方法其實都是在C++中實現(xiàn)的:

public static final native int getCallingPid();public static final native int getCallingUid();public static final native long clearCallingIdentity();public static final native void restoreCallingIdentity(long token);public static final native void setThreadStrictModePolicy(int policyMask);public static final native int getThreadStrictModePolicy();public static final native void flushPendingCommands();public static final native void joinThreadPool();

在android_util_Binder.cpp文件中的下面這段代碼,設定了Java方法與C++方法的對應關系:

static const JNINativeMethod gBinderMethods[] = {{ "getCallingPid", "()I", (void*)android_os_Binder_getCallingPid },{ "getCallingUid", "()I", (void*)android_os_Binder_getCallingUid },{ "clearCallingIdentity", "()J", (void*)android_os_Binder_clearCallingIdentity },{ "restoreCallingIdentity", "(J)V", (void*)android_os_Binder_restoreCallingIdentity },{ "setThreadStrictModePolicy", "(I)V", (void*)android_os_Binder_setThreadStrictModePolicy },{ "getThreadStrictModePolicy", "()I", (void*)android_os_Binder_getThreadStrictModePolicy },{ "flushPendingCommands", "()V", (void*)android_os_Binder_flushPendingCommands },{ "init", "()V", (void*)android_os_Binder_init },{ "destroy", "()V", (void*)android_os_Binder_destroy },{ "blockUntilThreadAvailable", "()V", (void*)android_os_Binder_blockUntilThreadAvailable } };

這種對應關系意味著:當Binder.java中的getCallingPid方法被調(diào)用的時候,真正的實現(xiàn)其實是android_os_Binder_getCallingPid,當getCallingUid方法被調(diào)用的時候,真正的實現(xiàn)其實是android_os_Binder_getCallingUid,其他類同。

然后我們再看一下android_os_Binder_getCallingPid方法的實現(xiàn)就會發(fā)現(xiàn),這里其實就是對接到了libbinder中了:

static jint android_os_Binder_getCallingPid(JNIEnv* env, jobject clazz) {return IPCThreadState::self()->getCallingPid(); }

這里看到了Java端的代碼是如何調(diào)用的libbinder中的C++方法的。那么,相反的方向是如何調(diào)用的呢?最關鍵的,libbinder中的BBinder::onTransact是如何能夠調(diào)用到Java中的Binder::onTransact的呢?

這段邏輯就是android_util_Binder.cpp中JavaBBinder::onTransact中處理的了。JavaBBinder是BBinder子類,其類結(jié)構(gòu)如下:

JavaBBinder::onTransact關鍵代碼如下:

virtual status_t onTransact(uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags = 0) {JNIEnv* env = javavm_to_jnienv(mVM);IPCThreadState* thread_state = IPCThreadState::self();const int32_t strict_policy_before = thread_state->getStrictModePolicy();jboolean res = env->CallBooleanMethod(mObject, gBinderOffsets.mExecTransact,code, reinterpret_cast<jlong>(&data), reinterpret_cast<jlong>(reply), flags);... }

請注意這段代碼中的這一行:

jboolean res = env->CallBooleanMethod(mObject, gBinderOffsets.mExecTransact,code, reinterpret_cast<jlong>(&data), reinterpret_cast<jlong>(reply), flags);

這一行代碼其實是在調(diào)用mObject上offset為mExecTransact的方法。這里的幾個參數(shù)說明如下:

  • mObject 指向了Java端的Binder對象
  • gBinderOffsets.mExecTransact 指向了Binder類的execTransact方法
  • data 調(diào)用execTransact方法的參數(shù)
  • code, data, reply, flags都是傳遞給調(diào)用方法execTransact的參數(shù)

而JNIEnv.CallBooleanMethod這個方法是由虛擬機實現(xiàn)的。即:虛擬機會提供native方法來調(diào)用一個Java Object上的方法(關于Android上的Java虛擬機,今后我們會專門講解)。

這樣,就在C++層的JavaBBinder::onTransact中調(diào)用了Java層Binder::execTransact方法。而在Binder::execTransact方法中,又調(diào)用了自身的onTransact方法,由此保證整個過程串聯(lián)了起來:

private boolean execTransact(int code, long dataObj, long replyObj,int flags) {Parcel data = Parcel.obtain(dataObj);Parcel reply = Parcel.obtain(replyObj);boolean res;try {res = onTransact(code, data, reply, flags);} catch (RemoteException|RuntimeException e) {if (LOG_RUNTIME_EXCEPTION) {Log.w(TAG, "Caught a RuntimeException from the binder stub implementation.", e);}if ((flags & FLAG_ONEWAY) != 0) {if (e instanceof RemoteException) {Log.w(TAG, "Binder call failed.", e);} else {Log.w(TAG, "Caught a RuntimeException from the binder stub implementation.", e);}} else {reply.setDataPosition(0);reply.writeException(e);}res = true;} catch (OutOfMemoryError e) {RuntimeException re = new RuntimeException("Out of memory", e);reply.setDataPosition(0);reply.writeException(re);res = true;}checkParcel(this, code, reply, "Unreasonably large binder reply buffer");reply.recycle();data.recycle();StrictMode.clearGatheredViolations();return res; }

Java Binder服務舉例

和C++層一樣,這里我們還是通過一個具體的實例來看一下Java層的Binder服務是如何實現(xiàn)的。

下圖是ActivityManager實現(xiàn)的類圖:

下面是上圖中幾個類的說明:

類名說明
IActivityManagerBinder服務的公共接口
ActivityManagerProxy供客戶端調(diào)用的遠程接口
ActivityManagerNativeBinder服務實現(xiàn)的基類
ActivityManagerServiceBinder服務的真正實現(xiàn)

看過Binder C++層實現(xiàn)之后,對于這個結(jié)構(gòu)應該也是很容易理解的,組織結(jié)構(gòu)和C++層服務的實現(xiàn)是一模一樣的。

對于Android應用程序的開發(fā)者來說,我們不會直接接觸到上圖中的幾個類,而是使用android.app.ActivityManager中的接口。

這里我們就來看一下,android.app.ActivityManager中的接口與上圖的實現(xiàn)是什么關系。我們選取其中的一個方法來看一下:

public void getMemoryInfo(MemoryInfo outInfo) {try {ActivityManagerNative.getDefault().getMemoryInfo(outInfo);} catch (RemoteException e) {throw e.rethrowFromSystemServer();} }

這個方法的實現(xiàn)調(diào)用了ActivityManagerNative.getDefault()中的方法,因此我們在來看一下ActivityManagerNative.getDefault()返回到到底是什么。

static public IActivityManager getDefault() {return gDefault.get(); }private static final Singleton<IActivityManager> gDefault = new Singleton<IActivityManager>() {protected IActivityManager create() {IBinder b = ServiceManager.getService("activity");if (false) {Log.v("ActivityManager", "default service binder = " + b);}IActivityManager am = asInterface(b);if (false) {Log.v("ActivityManager", "default service = " + am);}return am;} };

這段代碼中我們看到,這里其實是先通過IBinder b = ServiceManager.getService("activity");?獲取ActivityManager的Binder對象(“activity”是ActivityManagerService的Binder服務標識),接著我們再來看一下asInterface(b)的實現(xiàn):

static public IActivityManager asInterface(IBinder obj) {if (obj == null) {return null;}IActivityManager in =(IActivityManager)obj.queryLocalInterface(descriptor);if (in != null) {return in;}return new ActivityManagerProxy(obj); }

這里應該是比較明白了:首先通過queryLocalInterface確定有沒有本地Binder,如果有的話直接返回,否則創(chuàng)建一個ActivityManagerProxy對象。很顯然,假設在ActivityManagerService所在的進程調(diào)用這個方法,那么queryLocalInterface將直接返回本地Binder,而假設在其他進程中調(diào)用,這個方法將返回空,由此導致其他調(diào)用獲取到的對象其實就是ActivityManagerProxy。而在拿到ActivityManagerProxy對象之后在調(diào)用其方法所走的路線我想讀者應該也能明白了:那就是通過Binder驅(qū)動跨進程調(diào)用ActivityManagerService中的方法。

這里的asInterface方法的實現(xiàn)會讓我們覺得似曾相識。是的,因為這里的實現(xiàn)方式和C++層的實現(xiàn)是一樣的模式。

Java層的ServiceManager

源碼路徑:

frameworks/base/core/java/android/os/IServiceManager.java frameworks/base/core/java/android/os/ServiceManager.java frameworks/base/core/java/android/os/ServiceManagerNative.java frameworks/base/core/java/com/android/internal/os/BinderInternal.java frameworks/base/core/jni/android_util_Binder.cpp

有Java端的Binder服務,自然也少不了Java端的ServiceManager。我們先看一下Java端的ServiceManager的結(jié)構(gòu):

通過這個類圖我們看到,Java層的ServiceManager和C++層的接口是一樣的。

然后我們再選取addService方法看一下實現(xiàn):

public static void addService(String name, IBinder service, boolean allowIsolated) {try {getIServiceManager().addService(name, service, allowIsolated);} catch (RemoteException e) {Log.e(TAG, "error in addService", e);} }private static IServiceManager getIServiceManager() {if (sServiceManager != null) {return sServiceManager;}// Find the service managersServiceManager = ServiceManagerNative.asInterface(BinderInternal.getContextObject());return sServiceManager; }

很顯然,這段代碼中,最關鍵就是下面這個調(diào)用:

ServiceManagerNative.asInterface(BinderInternal.getContextObject());

然后我們需要再看一下BinderInternal.getContextObject()和ServiceManagerNative.asInterface兩個方法。

BinderInternal.getContextObject()是一個JNI方法,其實現(xiàn)代碼在android_util_Binder.cpp中:

static jobject android_os_BinderInternal_getContextObject(JNIEnv* env, jobject clazz) {sp<IBinder> b = ProcessState::self()->getContextObject(NULL);return javaObjectForIBinder(env, b); }

而ServiceManagerNative.asInterface的實現(xiàn)和其他的Binder服務是一樣的套路:

static public IServiceManager asInterface(IBinder obj) {if (obj == null) {return null;}IServiceManager in =(IServiceManager)obj.queryLocalInterface(descriptor);if (in != null) {return in;}return new ServiceManagerProxy(obj); }

先通過queryLocalInterface查看能不能獲得本地Binder,如果無法獲取,則創(chuàng)建并返回ServiceManagerProxy對象。

而ServiceManagerProxy自然也是和其他Binder Proxy一樣的實現(xiàn)套路:

public void addService(String name, IBinder service, boolean allowIsolated)throws RemoteException {Parcel data = Parcel.obtain();Parcel reply = Parcel.obtain();data.writeInterfaceToken(IServiceManager.descriptor);data.writeString(name);data.writeStrongBinder(service);data.writeInt(allowIsolated ? 1 : 0);mRemote.transact(ADD_SERVICE_TRANSACTION, data, reply, 0);reply.recycle();data.recycle(); }

有了上文的講解,這段代碼應該都是比較容易理解的了。

關于AIDL

作為Binder機制的最后一個部分內(nèi)容,我們來講解一下開發(fā)者經(jīng)常使用的AIDL機制是怎么回事。

AIDL全稱是Android Interface Definition Language,它是Android SDK提供的一種機制。借助這個機制,應用可以提供跨進程的服務供其他應用使用。AIDL的詳細說明可以參見官方開發(fā)文檔:https://developer.android.com/guide/components/aidl.html 。

這里,我們就以官方文檔上的例子看來一下AIDL與Binder框架的關系。

開發(fā)一個基于AIDL的Service需要三個步驟:

  • 定義一個.aidl文件
  • 實現(xiàn)接口
  • 暴露接口給客戶端使用
  • aidl文件使用Java語言的語法來定義,每個.aidl文件只能包含一個interface,并且要包含interface的所有方法聲明。

    默認情況下,AIDL支持的數(shù)據(jù)類型包括:

    • 基本數(shù)據(jù)類型(即int,long,char,boolean等)
    • String
    • CharSequence
    • List(List的元素類型必須是AIDL支持的)
    • Map(Map中的元素必須是AIDL支持的)

    對于AIDL中的接口,可以包含0個或多個參數(shù),可以返回void或一個值。所有非基本類型的參數(shù)必須包含一個描述是數(shù)據(jù)流向的標簽,可能的取值是:in,out或者inout。

    下面是一個aidl文件的示例:

    // IRemoteService.aidl package com.example.android;// Declare any non-default types here with import statements/** Example service interface */ interface IRemoteService {/** Request the process ID of this service, to do evil things with it. */int getPid();/** Demonstrates some basic types that you can use as parameters* and return values in AIDL.*/void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat,double aDouble, String aString); }

    這個文件中包含了兩個接口 :

    • getPid 一個無參的接口,返回值類型為int
    • basicTypes,包含了幾個基本類型作為參數(shù)的接口,無返回值

    對于包含.aidl文件的工程,Android IDE(以前是Eclipse,現(xiàn)在是Android Studio)在編譯項目的時候,會為aidl文件生成對應的Java文件。

    針對上面這個aidl文件生成的java文件中包含的結(jié)構(gòu)如下圖所示:

    在這個生成的Java文件中,包括了:

    • 一個名稱為IRemoteService的interface,該interface繼承自android.os.IInterface并且包含了我們在aidl文件中聲明的接口方法
    • IRemoteService中包含了一個名稱為Stub的靜態(tài)內(nèi)部類,這個類是一個抽象類,它繼承自android.os.Binder并且實現(xiàn)了IRemoteService接口。這個類中包含了一個onTransact方法
    • Stub內(nèi)部又包含了一個名稱為Proxy的靜態(tài)內(nèi)部類,Proxy類同樣實現(xiàn)了IRemoteService接口

    仔細看一下Stub類和Proxy兩個中包含的方法,是不是覺得很熟悉?是的,這里和前面介紹的服務實現(xiàn)是一樣的模式。這里我們列一下各層類的對應關系:

    C++Java層AIDL
    BpXXXXXXProxyIXXX.Stub.Proxy
    BnXXXXXXNativeIXXX.Stub

    為了整個結(jié)構(gòu)的完整性,最后我們還是來看一下生成的Stub和Proxy類中的實現(xiàn)邏輯。

    Stub是提供給開發(fā)者實現(xiàn)業(yè)務的父類,而Proxy的實現(xiàn)了對外提供的接口。Stub和Proxy兩個類都有一個asBinder的方法。

    Stub類中的asBinder實現(xiàn)就是返回自身對象:

    @Override public android.os.IBinder asBinder() {return this; }

    而Proxy中asBinder的實現(xiàn)是返回構(gòu)造函數(shù)中獲取的mRemote對象,相關代碼如下:

    private android.os.IBinder mRemote;Proxy(android.os.IBinder remote) {mRemote = remote; }@Override public android.os.IBinder asBinder() {return mRemote; }

    而這里的mRemote對象其實就是遠程服務在當前進程的標識。

    上文我們說了,Stub類是用來提供給開發(fā)者實現(xiàn)業(yè)務邏輯的父類,開發(fā)者者繼承自Stub然后完成自己的業(yè)務邏輯實現(xiàn),例如這樣:

    private final IRemoteService.Stub mBinder = new IRemoteService.Stub() {public int getPid(){return Process.myPid();}public void basicTypes(int anInt, long aLong, boolean aBoolean,float aFloat, double aDouble, String aString) {// Does something} };

    而這個Proxy類,就是用來給調(diào)用者使用的對外接口。我們可以看一下Proxy中的接口到底是如何實現(xiàn)的:

    Proxy中getPid方法實現(xiàn)如下所示:

    @Override public int getPid() throws android.os.RemoteException {android.os.Parcel _data = android.os.Parcel.obtain();android.os.Parcel _reply = android.os.Parcel.obtain();int _result;try {_data.writeInterfaceToken(DESCRIPTOR);mRemote.transact(Stub.TRANSACTION_getPid, _data, _reply, 0);_reply.readException();_result = _reply.readInt();} finally {_reply.recycle();_data.recycle();}return _result; }

    這里就是通過Parcel對象以及transact調(diào)用對應遠程服務的接口。而在Stub類中,生成的onTransact方法對應的處理了這里的請求:

    @Override public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags)throws android.os.RemoteException {switch (code) {case INTERFACE_TRANSACTION: {reply.writeString(DESCRIPTOR);return true;}case TRANSACTION_getPid: {data.enforceInterface(DESCRIPTOR);int _result = this.getPid();reply.writeNoException();reply.writeInt(_result);return true;}case TRANSACTION_basicTypes: {data.enforceInterface(DESCRIPTOR);int _arg0;_arg0 = data.readInt();long _arg1;_arg1 = data.readLong();boolean _arg2;_arg2 = (0 != data.readInt());float _arg3;_arg3 = data.readFloat();double _arg4;_arg4 = data.readDouble();java.lang.String _arg5;_arg5 = data.readString();this.basicTypes(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5);reply.writeNoException();return true;}}return super.onTransact(code, data, reply, flags); }

    onTransact所要做的就是:

  • 根據(jù)code區(qū)分請求的是哪個接口
  • 通過data來獲取請求的參數(shù)
  • 調(diào)用由子類實現(xiàn)的抽象方法
  • 有了前文的講解,對于這部分內(nèi)容應當不難理解了。

    到這里,我們終于講解完Binder了。

    恭喜你,已經(jīng)掌握了Android系統(tǒng)最復雜的模塊,的其中之一了 :)

    – 以上 –

    參考資料和推薦讀物

    • Android Binder
    • Android Interface Definition Language
    • Android Bander設計與實現(xiàn) - 設計篇
    • Binder系列—開篇
    • 徹底理解Android Binder通信架構(gòu)
    • binder驅(qū)動——-之內(nèi)存映射篇
    • Android Binder機制(一) Binder的設計和框架

    • Android Binder 分析——內(nèi)存管理

    原文:?http://qiangbo.space/2017-03-15/AndroidAnatomy_Binder_Java/

    總結(jié)

    以上是生活随笔為你收集整理的理解Android Binder机制(3/3):Java层的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    激情综合五月天 | 日韩在线观看电影 | 黄网站色欧美视频 | 国产精品久久久av久久久 | 伊色综合久久之综合久久 | 国产小视频免费观看 | 99视频国产精品 | 黄色一及电影 | 日本爽妇网 | 99久久精品视频免费 | 91精品啪在线观看国产 | 狠狠狠狠狠狠狠狠 | av电影中文字幕 | 欧美热久久 | 午夜视频在线瓜伦 | 韩国一区二区三区视频 | 中文字幕精品一区 | 日韩色在线 | 精品黄色片 | 久久精品美女 | 香蕉视频91 | 日韩免费在线观看 | 日日干视频 | 欧美性黑人 | 天海冀一区二区三区 | ,久久福利影视 | 免费av观看 | 国产精品99久久久久 | 91一区二区在线 | 精品国内自产拍在线观看视频 | 成人免费看电影 | 国产精品手机看片 | 热久久免费视频精品 | 天天曰天天曰 | 久久男人中文字幕资源站 | 欧美日韩视频在线一区 | 国产精品黑丝在线观看 | 日日操天天操狠狠操 | 中文在线天堂资源 | 精品视频999 | 91香蕉视频黄色 | 免费观看黄 | 国产超碰97 | 免费网站黄 | 色婷婷激情五月 | 国产精品尤物 | 国产三级国产精品国产专区50 | 91激情视频在线观看 | 人人射人人插 | 国产精品 欧美 日韩 | 久久精彩视频 | 亚洲乱码久久久 | 免费av在| 国产免费不卡av | 欧美日韩免费网站 | 日韩免费 | 九九视频免费在线观看 | 国产精品久久久久一区二区国产 | 麻豆影视在线观看 | 国产传媒中文字幕 | 性色xxxxhd | www黄| a视频在线观看 | 成人国产一区二区 | 国产精品 999| 国产亚洲精品久久久久5区 成人h电影在线观看 | 黄色午夜网站 | 欧美亚洲精品一区 | 97国产电影 | 欧美亚洲xxx| 欧美日韩国产色综合一二三四 | 激情久久影院 | 国产日韩中文字幕在线 | 欧美日韩成人 | 99视频偷窥在线精品国自产拍 | 五月天亚洲综合小说网 | 国产精品一区二区久久精品 | 国产一区免费看 | 国产高清视频色在线www | 国产高清在线a视频大全 | 狠狠色丁香婷婷综合 | 亚洲视频播放 | 国产一在线精品一区在线观看 | 综合网婷婷 | 黄色一级在线免费观看 | 天天操操操操操 | 91精品成人 | 正在播放一区二区 | 国产成人一区二区三区 | 日韩特级毛片 | 免费观看的黄色片 | 色综合天天综合 | 狠狠色狠狠色综合日日92 | 日韩在线观看第一页 | 日韩视频一二三区 | 91人人网| 欧美日韩久久 | av电影在线播放 | 欧美一级乱黄 | 五月婷婷一区二区三区 | 天天干国产| 国产剧在线观看片 | 国产成人亚洲在线观看 | 人人玩人人添人人澡超碰 | 亚洲综合在线观看视频 | 欧美精品免费一区二区 | 成人午夜电影久久影院 | 99久久99视频只有精品 | 一本—道久久a久久精品蜜桃 | 日韩av一区二区在线影视 | 国产亚洲精品美女 | 99中文在线 | 中文字幕人成不卡一区 | 日韩成人黄色av | 天天草天天摸 | 在线观看av大片 | 在线观看一区二区视频 | 亚洲国产中文字幕 | 成人av在线网 | 亚洲免费av在线播放 | 91亚洲精品久久久蜜桃网站 | 日韩中文字幕一区 | 色妞久久福利网 | 人人玩人人爽 | 爱情影院aqdy鲁丝片二区 | 国产精品欧美久久久久无广告 | 不卡av免费在线观看 | 国产精品国产亚洲精品看不卡 | 欧美亚洲精品在线观看 | 亚洲国产中文字幕在线视频综合 | 九九热在线视频 | 国产精品美女视频 | 五月天天色 | 一区 二区 精品 | 精品9999| 在线观看免费视频你懂的 | 久久久99国产精品免费 | 2023国产精品自产拍在线观看 | 在线成人短视频 | 99久久夜色精品国产亚洲96 | 成人国产精品一区 | 久久久午夜电影 | 亚洲成人免费观看 | 日本中文不卡 | 91久久精| 在线观看福利网站 | 亚洲日韩欧美一区二区在线 | 精品福利在线 | 中文字幕在线一二 | 97超碰精品 | 青青草国产免费 | 97精品电影院 | a√资源在线| www.操.com| 91免费版成人 | 国产精品成久久久久三级 | 国产玖玖在线 | 一区二区三区电影 | 免费观看一区二区三区视频 | 日韩成人免费观看 | 中文在线免费一区三区 | 国产中文字幕第一页 | 国产精品久久久久久久久久免费看 | 日本女人的性生活视频 | 久久综合桃花 | 韩日精品在线 | 日韩激情视频在线观看 | 国产精品s色 | www.狠狠操| 久久精品站 | 久久国产影视 | 欧美一级免费高清 | 最新av在线播放 | 狠狠狠色丁香婷婷综合激情 | 岛国av在线| 亚洲1区 在线 | 在线激情小视频 | 99精品毛片 | 国产视频久 | 国产伦精品一区二区三区照片91 | 中文字幕一区二区三区四区在线视频 | 久久久午夜精品福利内容 | 亚洲精品视频二区 | 精品国产一区二区三区噜噜噜 | 久久久久久久免费 | 精品久久久久久久久久久久 | 久久精品国产亚洲精品2020 | 国产精品一区二区免费 | 色天天综合网 | 人人干狠狠干 | 99精品视频在线看 | 日韩三区在线 | 亚洲精品在线一区二区三区 | 久久99精品久久久久久秒播蜜臀 | 国产精品久久久久久久久婷婷 | 色综合小说 | 国产欧美综合在线观看 | 亚洲激情校园春色 | 激情五月在线视频 | 激情xxxx | 人人玩人人添人人 | 日躁夜躁狠狠躁2001 | 国产精品久久久久久久久久免费看 | 91新人在线观看 | 久久综合狠狠综合 | 超碰在线最新网址 | 五月婷综合 | 久久精品爱视频 | 97视频人人免费看 | 久久艹欧美 | 日本精品久久久久中文字幕 | 久久久99精品免费观看app | 中文字幕欧美日韩va免费视频 | 一区二区精品 | 久国产在线播放 | 久久午夜国产 | 人人搞人人搞 | 91在线视频观看 | 成人动漫一区二区 | 中文字幕视频网 | 中文在线8新资源库 | 91成人破解版 | 九九热免费在线视频 | 91视频 - x99av | 天堂av官网| 91成人在线看 | 韩国在线视频一区 | 成人亚洲综合 | 亚洲欧美日韩不卡 | 国产精品成人久久 | 91成人在线视频 | 国产精品一区二区三区在线 | 一级免费黄视频 | 99精品欧美一区二区蜜桃免费 | 欧美激情精品久久久久 | 久久久精品国产一区二区三区 | 成人欧美一区二区三区在线观看 | 国产成人精品一区一区一区 | 免费看的黄色小视频 | 日韩久久精品一区二区 | 狠狠色狠狠色综合日日92 | 色婷婷啪啪免费在线电影观看 | 日躁夜躁狠狠躁2001 | 国产91国语对白在线 | 亚洲天堂网站视频 | 91精品久久久久久粉嫩 | 久久成人欧美 | 日韩 在线a| 免费黄色av | 人人爽人人av | 亚洲精品乱码久久久久久 | 香蕉日日 | 视频精品一区二区三区 | 日韩三级精品 | 国产成人精品综合 | 免费a级大片 | 精品国产乱码久久久久久天美 | 黄色大片日本免费大片 | 久久久久久久久久久影视 | 91精品视频免费 | 天天爽天天爽 | 久久久久| 欧美成人按摩 | 色多视频在线观看 | 国产精品一区二区精品视频免费看 | 欧美黑人性爽 | 特级西西www44高清大胆图片 | 久久激情电影 | 婷婷四房综合激情五月 | 国产高清精品在线 | 国产精品成人av在线 | 黄色一级免费网站 | 亚洲人视频在线 | 9999在线观看| 97在线观看免费高清完整版在线观看 | 国产又粗又猛又爽又黄的视频先 | 五月婷婷,六月丁香 | 天堂在线一区二区三区 | 少妇精品久久久一区二区免费 | 午夜色婷婷 | 美女网站在线看 | 欧美一区二区三区在线看 | 国产视频资源 | 美女视频是黄的免费观看 | 欧美一区日韩一区 | 人人草人 | 日韩在线免费小视频 | 国产精品电影一区二区 | 国产午夜精品一区二区三区四区 | 日韩精品一区不卡 | 久久久久视 | 欧洲精品码一区二区三区免费看 | 天天干天天干天天 | 91传媒在线播放 | 人人看人人做人人澡 | 日本高清dvd| av在线官网 | 欧美精品久久人人躁人人爽 | 91亚洲夫妻 | 婷婷丁香社区 | 国产不卡视频在线播放 | 在线中文字幕观看 | 在线观看精品一区 | www.色爱 | 日韩高清一区在线 | 中文字幕日韩精品有码视频 | 97超级碰碰碰视频在线观看 | av在线一级| 2023av| 免费日韩一区 | 久久天天躁狠狠躁夜夜不卡公司 | av一级一片 | 欧美性超爽 | 色婷婷精品大在线视频 | 伊人影院99 | 国产福利91精品一区二区三区 | 91视频在线观看大全 | 超碰免费在线公开 | 免费又黄又爽 | 精品福利国产 | 99在线高清视频在线播放 | 日韩理论电影网 | 国产视频在线免费 | 亚洲精品小视频在线观看 | 99亚洲天堂| 国模精品一区二区三区 | 久久综合九色综合久99 | 久久久久久久久久久久影院 | 91传媒免费在线观看 | 操天天操 | av电影不卡在线 | 国产精品精品国产色婷婷 | 亚洲高清激情 | 日本精品一区二区三区在线播放视频 | 国产69久久精品成人看 | 久久九精品 | 91视频在线播放视频 | 免费看污黄网站 | 99婷婷 | 天天射天天色天天干 | 狠狠狠狠狠干 | 性色xxxxhd| 人人爱在线视频 | 天天操天天草 | 中文字幕一区二区在线播放 | 特级西西人体444是什么意思 | 亚洲永久精品国产 | 中文字幕在线免费看线人 | 国产亚洲人成网站在线观看 | 欧美亚洲精品在线观看 | 国产精品日韩在线播放 | 日韩av网址在线 | 在线欧美日韩 | 久久久久一区 | 国产一级久久 | 久久久国产一区二区三区 | 99国产精品免费网站 | 国产精品麻 | 欧美日韩精品免费观看视频 | 91成人在线观看喷潮 | 视频在线日韩 | 九九九视频精品 | 在线视频一二三 | 麻豆传媒在线免费看 | 女人高潮特级毛片 | 国产精品久久久久久久午夜片 | 久久久久久久久久网 | 国产精品久久久久久久毛片 | 97av色| 日本不卡123区 | www五月| 欧美日本不卡视频 | 精品成人在线 | 91夫妻视频 | 婷婷视频在线播放 | 国产小视频在线观看免费 | 超碰免费观看 | av在线亚洲天堂 | 91成人精品国产刺激国语对白 | 91麻豆精品久久久久久 | 91九色老 | 亚洲激情视频在线 | 日韩高清精品免费观看 | 久久夜夜操 | 偷拍久久久| 精品久久久久久久久久久久 | 丁香婷婷网 | 国产在线精品一区二区三区 | 精品在线播放 | 99精品久久99久久久久 | 在线观看免费版高清版 | 视频成人| 成人黄色av免费在线观看 | 九九久久国产精品 | 天天天天干 | 黄色.com| 黄污网站在线观看 | 天天干干 | 日日碰狠狠躁久久躁综合网 | 国产又粗又长的视频 | 久久综合久久综合这里只有精品 | 日韩精品久久中文字幕 | 视频国产| 日韩免费二区 | 久保带人| 日韩女同一区二区三区在线观看 | 不卡视频在线看 | 最新国产福利 | 精品一区av | 91精品在线免费视频 | 国产亚洲精品综合一区91 | 夜夜操夜夜干 | 又黄又爽又色无遮挡免费 | 日韩va欧美va亚洲va久久 | 色av婷婷| 日韩三区在线观看 | 国产成本人视频在线观看 | 日韩高清一区二区 | 一区二区三区中文字幕在线观看 | 天天射天天干天天操 | 欧美性生活免费看 | 久操视频在线免费看 | 欧美色操| 在线视频一区观看 | 91大神精品视频在线观看 | 亚洲欧美日韩国产一区二区三区 | 午夜久久福利影院 | 97精品一区二区三区 | 亚洲精品国产精品国自产观看 | 91麻豆精品国产自产在线 | 国产精品资源在线观看 | 99视频黄| 一区二区三区日韩在线观看 | 中文字幕 二区 | 欧美亚洲国产精品久久高清浪潮 | 亚州国产视频 | 日韩免费视频一区二区 | 91桃色在线观看视频 | 成人黄色大片网站 | 国产日韩在线观看一区 | 在线看成人av | 午夜 久久 tv| 中文字幕一区二区三区久久蜜桃 | av在线一二三区 | 四虎在线免费观看 | 大型av综合网站 | 中文字幕日韩伦理 | 国产日产精品久久久久快鸭 | 亚洲精品a区 | 性色av香蕉一区二区 | 九色91在线视频 | 亚洲视频免费 | 日本亚洲国产 | 国产午夜精品一区二区三区嫩草 | 日韩av免费一区 | 午夜精品一区二区三区可下载 | 国产一级黄色av | 亚洲成人午夜在线 | 国产精品国产三级国产不产一地 | 精品天堂av | 久久久久久久久艹 | 在线黄色免费 | 国产亚洲视频在线观看 | 欧美极品一区二区三区 | 国产美女精品久久久 | 女人久久久久 | 国产视频在 | 久久99精品国产99久久 | 黄色网址中文字幕 | 久久精品日本啪啪涩涩 | 免费精品视频在线观看 | 国产视频黄 | 黄色网免费 | 日韩 精品 一区 国产 麻豆 | 国产麻豆视频网站 | 97中文字幕| 欧美日韩裸体免费视频 | av黄色影院| 91在线网址 | 久久久久国产成人精品亚洲午夜 | 不卡的av片 | 天天操天天操天天操天天操天天操 | 人人澡超碰碰 | 国产成年人av | 五月天综合激情 | 久久伊人精品天天 | www.久久久精品 | 色婷婷成人网 | 91av在线不卡 | 中文字幕av日韩 | 狠狠色丁香婷婷综合久小说久 | 蜜臀久久99精品久久久酒店新书 | 国产精品美女网站 | 黄色三级av | 久久色在线播放 | 97视频在线观看成人 | 中文字幕精品一区二区三区电影 | 国产欧美综合在线观看 | 久久av福利 | 成人91在线 | 国产一区二区成人 | 麻豆免费精品视频 | 制服丝袜在线91 | 一区二区视频在线观看免费 | 美女在线免费观看视频 | 99在线观看精品 | 一区二区欧美日韩 | 又湿又紧又大又爽a视频国产 | 欧美日韩精品二区第二页 | 国产a视频免费观看 | 国内揄拍国内精品 | 国产精品永久在线 | 亚洲国产精久久久久久久 | 亚洲成人午夜av | 99免费在线视频观看 | www.超碰97.com | 麻豆视频大全 | 91视频在线观看大全 | 一本一本久久a久久精品牛牛影视 | 一区三区视频在线观看 | 操操综合 | 天天干天天在线 | 在线看免费 | 国产系列 在线观看 | 超碰人人在线观看 | 日韩精品在线观看视频 | 国产99久久久国产精品成人免费 | 深爱婷婷网 | 天天操天天操一操 | 亚洲视频www | 久久午夜精品 | 国产91对白在线 | 日韩精选在线观看 | 亚洲综合成人专区片 | 国产最新精品视频 | 日韩在线免费视频 | 婷婷婷国产在线视频 | 在线一区二区三区 | 伊人资源视频在线 | 最近在线中文字幕 | 成人黄色一级视频 | 中文字幕一区二区在线观看 | 黄色网在线播放 | 91av网址| 国产一级片视频 | a色视频 | 久久精品永久免费 | 久久国产亚洲 | 色94色欧美 | 国产一区在线看 | 久久亚洲二区 | 成年人精品| 中文字幕在线免费看线人 | 又爽又黄又刺激的视频 | 国产一级精品视频 | 国内视频一区二区 | 免费大片av | 7777精品伊人久久久大香线蕉 | 91视频免费视频 | 日韩欧美一区二区在线观看 | 碰超在线 | 亚洲精品久久久久久中文传媒 | 91精品久久久久久 | av高清影院 | 亚洲欧洲xxxx| 日韩在线第一 | 91色一区二区三区 | 天天操天天干天天操天天干 | 91漂亮少妇露脸在线播放 | 久久久久久久亚洲精品 | 色橹橹欧美在线观看视频高清 | 久久99在线观看 | 91最新视频在线观看 | av大全在线 | 国产精品99免费看 | 最近2019中文免费高清视频观看www99 | 成人精品国产 | 欧美小视频在线观看 | 中文字幕免费久久 | .国产精品成人自产拍在线观看6 | 免费成人av在线看 | 欧美国产大片 | 在线视频 一区二区 | 免费a网 | 亚洲免费高清视频 | 成人在线超碰 | 99久久精品国产亚洲 | 在线成人免费 | 日日爱视频 | 久久久av免费| 国产午夜剧场 | 国产精品九九九九九九 | 91成人观看 | 欧美成年黄网站色视频 | 中文字幕色在线 | 最近日本韩国中文字幕 | 视色网站 | 欧美一级大片在线观看 | 精品国产一区二区三区四 | 亚洲国产午夜视频 | 欧美激情精品久久久久久变态 | 久久免费国产 | 亚洲精品小视频 | 在线电影中文字幕 | 91精品久久久久 | 色婷婷综合久久久久中文字幕1 | 国产中文字幕第一页 | 成人在线视频一区 | 国产成免费视频 | 97超碰超碰久久福利超碰 | 中文字幕亚洲欧美日韩 | 国内精品久久天天躁人人爽 | 毛片网站免费在线观看 | 西西4444www大胆无视频 | 日韩剧 | 999热视频 | 色综合五月 | 在线观看国产亚洲 | 日本久久高清视频 | 欧美日韩不卡在线 | 国产精品免费在线视频 | 少妇bbb搡bbbb搡bbbb′ | 免费日韩电影 | 久久综合之合合综合久久 | www日日夜夜 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久欧美在线电影 | 激情丁香 | 99欧美视频| 午夜精品一区二区三区视频免费看 | 99久久免费看 | 日韩黄色av网站 | 亚洲综合色视频在线观看 | 日日操狠狠干 | 欧美日韩中文字幕在线视频 | 久久久久伊人 | 97手机电影网| 中文国产在线观看 | 日夜夜精品视频 | 99精品免费久久久久久久久 | 欧美精品中文字幕亚洲专区 | 黄色资源在线 | 91精彩视频 | 免费看一级特黄a大片 | 日本激情动作片免费看 | 丁香一区二区 | 国产成人精品三级 | 国产手机视频在线播放 | 精品主播网红福利资源观看 | www.亚洲精品 | 精品国内自产拍在线观看视频 | 亚洲国产中文字幕在线 | 色综合五月 | 天天操天天干天天玩 | 久草视频在线免费看 | 免费久久久久久 | 91自拍视频在线观看 | 日日日视频| 国产亚洲高清视频 | www.国产精品| 91精品视频在线看 | 国产在线精品播放 | 亚洲一区久久 | 夜夜干天天操 | 五月婷婷香蕉 | 日韩欧美在线免费观看 | av福利电影 | 黄色av电影一级片 | 91视频高清免费 | 久久久久久久久毛片精品 | 日韩在线首页 | 亚洲h在线播放在线观看h | 亚洲免费不卡 | 好看的国产精品视频 | 日韩欧美视频在线观看免费 | 欧美少妇xxxxxx| 精品久久久久久久久中文字幕 | 婷婷丁香狠狠爱 | 激情视频在线观看网址 | 奇米网777 | 亚洲色影爱久久精品 | 欧美aa一级片 | 911香蕉 | 一区免费在线 | 国产成人av网站 | 最新日韩在线 | 欧美与欧洲交xxxx免费观看 | www.xxxx变态.com| 四季av综合网站 | 色婷婷97 | 一级黄色片在线观看 | 五月婷婷视频在线观看 | 亚洲国产成人精品在线观看 | 欧美日韩一区二区三区免费视频 | 午夜av大片| 国产精品视频地址 | 色婷婷狠狠操 | 国产在线色视频 | 欧美日韩午夜 | 久久伊人色综合 | 国产无遮挡猛进猛出免费软件 | 欧美日韩中文国产 | 美女福利视频 | 91精品国自产在线偷拍蜜桃 | 久久与婷婷 | 日韩欧美高清一区二区 | 久久九九视频 | 狠狠干成人综合网 | 亚洲人在线7777777精品 | 亚洲美女免费精品视频在线观看 | 玖玖爱国产在线 | 激情久久久久久久久久久久久久久久 | 韩国av一区 | 欧美一区中文字幕 | 欧美亚洲成人xxx | 中文字幕在线一区二区三区 | 精品国产一区二区三区男人吃奶 | 日韩精品免费在线观看视频 | 国产视频久久久久 | 亚洲九九影院 | 日韩精品黄| 久草免费手机视频 | 婷婷激情五月 | 国产视频久久 | 人人看97 | 伊色综合久久之综合久久 | 国产精品 日韩 欧美 | 久久久久久久久久久久av | 在线观看精品一区 | 中文字幕av免费观看 | www好男人 | 国产视频1 | 亚洲成年片 | 精品亚洲欧美一区 | 天天做夜夜做 | 久久久久久久久艹 | 国产91在线看 | 97偷拍在线视频 | 久久 一区 | www在线观看视频 | a√天堂资源 | 日韩欧美国产成人 | av片中文 | 色婷在线 | www.com.黄 | 日黄网站 | 欧美日韩国产mv | 最新av电影网站 | 国产 日韩 中文字幕 | 日本精品视频在线观看 | 99视频网站 | 日本中文字幕在线一区 | 日韩精品综合在线 | 国产精品久久久久久久妇 | 天天射天天干天天 | 欧美国产日韩一区二区三区 | 久久资源总站 | 精品国产乱码久久久久久1区2匹 | 一区二区三区在线视频观看58 | 久久艹99 | 国产亚洲视频在线免费观看 | 欧美人交a欧美精品 | 成人动漫视频在线 | 日韩手机在线 | 在线国产精品视频 | 手机av在线网站 | 久久人人插 | 在线视频麻豆 | 五月婷在线观看 | 伊人网站 | av片子在线观看 | 日韩av午夜在线观看 | 日韩手机在线观看 | 欧洲精品码一区二区三区免费看 | 人人干,人人爽 | 成 人 黄 色 片 在线播放 | 欧美日韩在线观看视频 | 最近中文字幕mv免费高清在线 | 97国产电影 | 日本精品一区二区三区在线播放视频 | 青青河边草免费观看完整版高清 | 亚洲国产三级 | 91麻豆国产福利在线观看 | 色资源中文字幕 | 欧美在线观看视频 | 99精品观看 | 婷婷色综合网 | 国内精品二区 | 色视频国产直接看 | 99久久夜色精品国产亚洲 | 久久国产成人午夜av影院宅 | 国产vs久久 | 久久久国产一区二区 | 免费看片色 | 少妇搡bbbb搡bbb搡69 | 激情大尺度视频 | 成年人视频在线免费观看 | 菠萝菠萝在线精品视频 | 国产日本三级 | 人人爽人人爽人人片 | 亚洲国产三级在线观看 | 婷婷丁香av| 中文成人字幕 | av电影在线免费观看 | 中文字幕免费在线 | 91一区啪爱嗯打偷拍欧美 | 精壮的侍卫呻吟h | www免费网站在线观看 | 97在线看片 | 精品国产成人在线影院 | 欧美乱大交 | 特级毛片网站 | 国产精品欧美久久久久三级 | 亚洲精品在线资源 | 日韩高清精品一区二区 | 久久久久人人 | 欧美日韩中字 | 一级黄色片在线免费看 | 久久99精品波多结衣一区 | 久久久高清免费视频 | 亚洲影院一区 | 中文字幕精品久久 | 国产亚洲精品成人av久久影院 | 国产成人一区二 | 亚洲极色 | 成人播放器 | 国产精品免费久久 | 久久伊人国产精品 | 九九九九九九精品任你躁 | 久久激情日本aⅴ | 91九色成人 | www.色爱 | 国产精品99久久久久人中文网介绍 | 国产打女人屁股调教97 | 久久激情视频 久久 | 深爱激情久久 | 国产高清中文字幕 | 亚洲精品在线网站 | 色婷婷综合在线 | www.亚洲黄 | 日韩最新在线 | 手机在线永久免费观看av片 | 久草网在线视频 | 亚洲欧美日韩在线一区二区 | 欧美日韩国产精品久久 | 人人爽爽人人 | 国产精品嫩草55av | 国产日韩欧美视频 | 黄色中文字幕 | 高清视频一区 | 一区二区精品久久 | 成人三级网址 | 日韩最新理论电影 | 97国产一区二区 | 精品久久久久久一区二区里番 | 日韩精品第1页 | 久久艹综合| 欧美老人xxxx18| 国产手机视频在线观看 | 中文字幕免费播放 | 欧美性色19p | 一区二区三区国产精品 | 欧美日韩一区二区视频在线观看 | 国产原创中文在线 | 黄污视频网站大全 | 亚洲一区二区三区精品在线观看 | 超碰在线免费97 | 中文一二区 | 欧美午夜视频在线 | 久久久精品日本 | 国产精品久久久久久久免费大片 | 九色在线| 亚洲成年片 | 久久一区二区三区超碰国产精品 | 亚洲国产精品久久久久久 | 99热最新精品 | 欧美精品做受xxx性少妇 | 最近中文字幕在线 | 在线日本看片免费人成视久网 | 欧美日韩中文国产一区发布 | 特级xxxxx欧美 | 毛片一级免费一级 | 丝袜美腿亚洲 | 九九久久视频 | 久久国产精品一区二区三区四区 | 欧美专区国产专区 | 日韩一区二区三区不卡 | 在线看成人| 五月导航 | 人人盈棋牌 | 伊人成人激情 | 丁香激情综合久久伊人久久 | 中文字幕欧美三区 | 在线观看黄色 | 国产精品高清一区二区三区 | 欧美一区二区伦理片 | 最新国产一区二区三区 | 国产亚洲午夜高清国产拍精品 | 久草干 | 欧美a级片网站 | 伊人首页 | 日韩在线免费电影 | 日韩一二区在线观看 | 久久久九色精品国产一区二区三区 | 麻豆91精品91久久久 | 激情五月五月婷婷 | 亚洲区视频在线观看 | 黄色www在线观看 | 国产成人精品福利 | 国产不卡在线 | 亚洲精品在线视频 | 麻豆一二| 3d黄动漫免费看 | 亚洲免费一级电影 | 成年人免费在线观看 | 日韩在线免费视频 | 国内精品在线看 | 99久久久国产精品免费观看 | 99视频在线观看一区三区 | 手机色站 | 国产第一页在线播放 | 国产视频久久久久 | 美女黄网站视频免费 | 91麻豆产精品久久久久久 | 免费网站观看www在线观看 | 国产高清99| 国产一区免费看 | 精品国产一区二区三区在线观看 | 超碰人人在线 | 色婷婷综合久久久久 | 日韩在线视频精品 | 欧美最猛性xxx | 亚洲小视频在线观看 | 亚洲国产精品成人精品 | 久久综合狠狠综合 | 中文字幕精品一区二区三区电影 | 91成人亚洲| 精品欧美小视频在线观看 | 国产欧美精品在线观看 | 激情丁香 | 欧美一区二视频在线免费观看 | 久草免费新视频 | 香蕉在线视频观看 | 国产精品视频一二三 | 中文字幕av最新更新 | 成人久久精品 | 天天操夜夜操夜夜操 | 天堂av在线免费 | 国产手机在线观看 | 青青草华人在线视频 | 免费亚洲黄色 | 四虎视频 | 视频一区二区在线 | 久草在线视频在线观看 | 亚洲性少妇性猛交wwww乱大交 | 麻豆免费视频观看 | 人人爽人人搞 | 欧美老人xxxx18| 在线视频区 | 国产91精品一区二区 | 精品国产一区二区三区久久影院 | 亚洲黄色高清 | 香蕉视频免费在线播放 | 国产日韩在线一区 | 伊人久久国产精品 | 久久视频免费在线 | 欧美日韩国产精品一区二区三区 | 色婷婷综合久久久 | 国产一区二区免费 | 国产精品久久久久久五月尺 | 一区二区视 | 色偷偷888欧美精品久久久 | 久久国产色 | 人人干人人模 | 久久久精品一区二区 | 91九色丨porny丨丰满6 | 国产精品九九久久99视频 | 免费福利在线观看 | 国产视频一区二区在线 | 中文字幕日本电影 | 日韩剧| av一区二区三区在线播放 | 亚洲精品字幕在线观看 | 免费看特级毛片 | 一级做a视频 | 97国产大学生情侣白嫩酒店 | 国产男女爽爽爽免费视频 | 亚洲五月激情 | 欧美综合色在线图区 | 久久精品成人欧美大片古装 | 亚洲国产99 | a级国产片 | 成人国产精品入口 | 亚洲精品午夜国产va久久成人 | 国产高清小视频 | 日韩一区二区免费在线观看 | 五月天av在线 | 射射射综合网 |