• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Android車載終端的設(shè)備管理框架設(shè)計

    2016-10-14 06:44:39李培明孫甲松
    電子設(shè)計工程 2016年12期
    關(guān)鍵詞:功能設(shè)備服務(wù)

    李培明,孫甲松

    (1.清華大學(xué)電子工程系北京100084;2.廈門雅迅網(wǎng)絡(luò)股份有限公司福建廈門361008)

    基于Android車載終端的設(shè)備管理框架設(shè)計

    李培明1,2,孫甲松1

    (1.清華大學(xué)電子工程系北京100084;2.廈門雅迅網(wǎng)絡(luò)股份有限公司福建廈門361008)

    為了實現(xiàn)對Android車載終端平臺新增的許多非Android原生系統(tǒng)中的外圍設(shè)備進(jìn)行統(tǒng)一管理,本文提出了一種基于Android LocalSocket和Service的設(shè)備管理框架。該設(shè)備管理框架的整體層次結(jié)構(gòu)包括應(yīng)用程序、設(shè)備管理服務(wù)、守護(hù)進(jìn)程、設(shè)備功能動態(tài)庫、內(nèi)核設(shè)備驅(qū)動,以及設(shè)備硬件等多個層次。實際應(yīng)用表明,該設(shè)備管理框架邏輯結(jié)構(gòu)清晰,能夠較好地支持上層和底層的數(shù)據(jù)互通,有效地將Android系統(tǒng)中非Android原生的設(shè)備進(jìn)行統(tǒng)一控制和管理,顯著提升了設(shè)備系統(tǒng)的穩(wěn)定性,達(dá)到了設(shè)計要求。

    Android;車載終端;設(shè)備管理框架;LocalSocket;Service

    近幾年來,隨著移動互聯(lián)網(wǎng)時代的到來,Android操作系統(tǒng)已經(jīng)從最初的智能手機(jī)領(lǐng)域逐漸進(jìn)入教育、醫(yī)療、軍事、汽車、家居等重要領(lǐng)域,并已經(jīng)成為移動平臺領(lǐng)域當(dāng)之無愧的王者。2011年1月至3月,Android占領(lǐng)了全球大部分的手機(jī)市場,市場份額首次超過了塞班系統(tǒng)上升到全球第一[1];2012年第一季度數(shù)據(jù)顯示,Android占領(lǐng)了中國68.4%的智能手機(jī)操作系統(tǒng)市場,在全球市場占有率為52.5%[2]。Android在國內(nèi)的發(fā)展不僅僅局限于作為智能手機(jī)操作系統(tǒng),現(xiàn)在已經(jīng)開始向作為其他移動終端操作系統(tǒng)的方向發(fā)展,例如移動互聯(lián)網(wǎng)設(shè)備、數(shù)字機(jī)頂盒、車載移動終端等領(lǐng)域。

    Android平臺是一個標(biāo)準(zhǔn)的通用平臺,而在多媒體車載終端項目中增加了許多Android原生系統(tǒng)中沒有的設(shè)備,例如DVD、GPIO、音頻管理設(shè)備等。針對這些設(shè)備的控制,在Android原生系統(tǒng)中最常用的做法就是使用JNI方式進(jìn)行控制。

    JNI是Java Native Interface的縮寫,即“Java本地接口”。在Android系統(tǒng)代碼層次結(jié)構(gòu)中,JNI處于Java代碼層與C/ C++本地代碼層之間的位置。在Android系統(tǒng)中提供JNI機(jī)制,使得在Java虛擬機(jī)內(nèi)部運行的Java代碼能夠調(diào)用C/C++本地層的應(yīng)用程序和庫,從而將Java代碼和C/C++本地層代碼緊密聯(lián)系在一起[3]。但是,在Android車載終端平臺上使用常規(guī)JNI方式進(jìn)行設(shè)備管理的缺點在于:

    使用JNI方式進(jìn)行應(yīng)用程序開發(fā)需要同時實現(xiàn)Java、JNI、C/C++3個層次的代碼,開發(fā)工作量大,開發(fā)難度也較大;應(yīng)用程序如果要移植到其它平臺上,C/C++本地層代碼需要重新編寫,移植的工作量較大;從邏輯結(jié)構(gòu)方面考慮,一個JNI動態(tài)庫一般只適合管理一個外圍設(shè)備,隨著外圍設(shè)備的不斷增加,難以對這些設(shè)備進(jìn)行統(tǒng)一管理;而且系統(tǒng)使用過程中存在多個應(yīng)用程序同時訪問一個設(shè)備的可能,易造成設(shè)備訪問不可控,系統(tǒng)穩(wěn)定性差。此外,Java虛擬機(jī)為Java代碼提供了完善的安全機(jī)制使得Java代碼不會導(dǎo)致程序崩潰、濫用數(shù)據(jù)等,而一旦使用了JNI機(jī)制,這種安全機(jī)制就無能為力了[4]。

    可見,在包含較多非Android原始設(shè)備的Android車載終端平臺上,對這些設(shè)備進(jìn)行統(tǒng)一管理變得非常重要。為了實現(xiàn)對這些設(shè)備的統(tǒng)一管理,本文提出并設(shè)計了一種基于Android LocalSocket和Service的方式,實現(xiàn)專門針對Android車載終端平臺的設(shè)備管理框架。該框架能夠?qū)崿F(xiàn)對系統(tǒng)中非Android原生的眾多設(shè)備進(jìn)行統(tǒng)一控制和管理。

    1 設(shè)備管理框架的邏輯結(jié)構(gòu)圖

    基于Android車載終端平臺的設(shè)備管理框架的邏輯結(jié)構(gòu),如圖1所示。

    圖1 設(shè)備管理框架的邏輯結(jié)構(gòu)圖

    設(shè)備管理框架包括下述層次:應(yīng)用程序、設(shè)備管理服務(wù)、守護(hù)進(jìn)程、設(shè)備功能動態(tài)庫、內(nèi)核設(shè)備驅(qū)動,以及設(shè)備硬件。

    2 設(shè)備管理框架的實現(xiàn)原理

    按照從上到下的調(diào)用層次關(guān)系,整個設(shè)備管理框架的設(shè)計實現(xiàn)原理如下。

    2.1應(yīng)用程序?qū)?/p>

    系統(tǒng)中對設(shè)備管理框架的調(diào)用操作均由應(yīng)用程序發(fā)起。Android應(yīng)用程序通過服務(wù)綁定接口綁定設(shè)備管理服務(wù),綁定之后應(yīng)用程序可獲得設(shè)備管理服務(wù)中的DVD、GPIO、音頻管理等所有設(shè)備的AIDL(Android Interface Definition Language,即Android接口描述語言)接口。這些接口就是DVD、GPIO、音頻管理等所有設(shè)備,通過設(shè)備管理服務(wù)的AIDL接口提供給應(yīng)用程序調(diào)用的功能接口。

    2.2設(shè)備管理服務(wù)層

    設(shè)備管理服務(wù)位于Android系統(tǒng)中的Java框架層,介于Android應(yīng)用程序和設(shè)備管理守護(hù)進(jìn)程之間,并通過提供AIDL接口為應(yīng)用程序提供接口調(diào)用。設(shè)備管理服務(wù)向上層應(yīng)用程序提供AIDL調(diào)用接口,與下層的設(shè)備管理守護(hù)進(jìn)程通過Socket通信方式進(jìn)行數(shù)據(jù)通信,作用至關(guān)重要。通過對整個設(shè)備管理框架的功能劃分,設(shè)備管理服務(wù)需要實現(xiàn)如下功能:

    1)設(shè)備管理服務(wù)感知應(yīng)用程序的調(diào)用操作,并將應(yīng)用程序的調(diào)用轉(zhuǎn)化為命令格式,并將這個命令通過Android LocalSocket(本質(zhì)上即為Socket套接字)通信傳送給設(shè)備管理守護(hù)進(jìn)程進(jìn)行處理。

    2)建立和維護(hù)與設(shè)備管理守護(hù)進(jìn)程之間的數(shù)據(jù)通信,確定一套合理規(guī)范的通信協(xié)議。由于傳輸命令的內(nèi)容較為簡單,設(shè)備管理服務(wù)向設(shè)備管理守護(hù)進(jìn)程傳輸?shù)拿罡袷蕉x為:“Device Name@Function#parameter1#parameter2#...# parameterN”,其中“DeviceName”表示設(shè)備名稱,“Function”表示功能接口名稱,“parameter1#parameter2#...#parameterN”則表示傳遞的參數(shù),參數(shù)之間使用符號'#'分隔。以命令“GPIO@GPIO_UP#fmpowon”為例,其中“GPIO”表示設(shè)備名稱,“GPIO_UP”表示功能接口名稱,“fmpowon”表示功能接口的參數(shù)。

    3)為DVD、GPIO、音頻管理等每個設(shè)備各創(chuàng)建(即手動編輯生成)一個AIDL接口文件,以供應(yīng)用程序調(diào)用。這里的AIDL文件只是接口聲明,需要在設(shè)備管理服務(wù)的其它Java文件中完成這些AIDL接口的代碼實現(xiàn),實現(xiàn)的主要內(nèi)容是生成命令格式并向守護(hù)進(jìn)程發(fā)送該命令。

    由于設(shè)備管理服務(wù)對應(yīng)用程序提供了設(shè)備管理框架內(nèi)管理的所有設(shè)備的功能接口,設(shè)備管理服務(wù)的主要功能之一就是生成命令格式,命令格式中的“DeviceName”字段即包含了要調(diào)用的外圍設(shè)備模塊,設(shè)備管理服務(wù)通過這個字段就可以將AIDL接口與外圍設(shè)備聯(lián)系起來。

    4)能穩(wěn)定地為Android應(yīng)用程序提供服務(wù),數(shù)據(jù)處理及時,協(xié)調(diào)應(yīng)用程序之間的執(zhí)行和數(shù)據(jù)同步。

    2.3設(shè)備管理守護(hù)進(jìn)程層

    設(shè)備管理守護(hù)進(jìn)程位于Android系統(tǒng)中的HAL層(即硬件抽象層),介于設(shè)備管理服務(wù)和設(shè)備功能動態(tài)庫之間,通過Android LocalSocket與上層的設(shè)備管理服務(wù)進(jìn)行數(shù)據(jù)通信,向下層則調(diào)用相應(yīng)設(shè)備功能動態(tài)庫提供的接口,起著信息樞紐的作用。通過對整個設(shè)備管理框架的功能劃分,設(shè)備管理守護(hù)進(jìn)程需要實現(xiàn)如下功能:

    1)通過LocalSocket與上層的設(shè)備管理服務(wù)層進(jìn)行Socket數(shù)據(jù)通信,通過發(fā)送心跳包檢測鏈路機(jī)制監(jiān)測和更新上層客戶端的連接情況,準(zhǔn)確接收設(shè)備管理服務(wù)層發(fā)送的命令包并解析命令格式。

    2)根據(jù)設(shè)備管理服務(wù)中規(guī)定的命令格式,從接收到的命令中解析得到調(diào)用的目標(biāo)設(shè)備名稱,這里假設(shè)是“GPIO”設(shè)備,如果是第一次調(diào)用該設(shè)備,則首先加載該設(shè)備的功能動態(tài)庫,然后調(diào)用設(shè)備功能動態(tài)庫中的初始化接口XXX_init(其中“XXX”是從命令中解析得到的設(shè)備名稱),例如GPIO_init,進(jìn)行初始化工作,否則直接調(diào)用該設(shè)備功能動態(tài)庫的命令處理接口XXX_processCmd,例如GPIO_process Cmd,進(jìn)行處理。

    3)由于有些功能接口存在獲取響應(yīng)數(shù)據(jù)的需求,這要求設(shè)備管理守護(hù)進(jìn)程能夠接收來自設(shè)備功能動態(tài)庫的響應(yīng)數(shù)據(jù)并向設(shè)備管理服務(wù)層進(jìn)行傳遞,傳遞的數(shù)據(jù)封裝格式定義為:設(shè)備名稱+'@'+功能接口名稱+'#'+有效數(shù)據(jù)。以“AUDIO@GetMainVolume#80”為例,“AUDIO”表示音頻管理設(shè)備名稱,“GetMainVolume”表示功能接口名稱,即獲取系統(tǒng)主音量,“80”表示有效數(shù)據(jù),即音量值。

    4)能穩(wěn)定地為設(shè)備管理服務(wù)層提供Socket連接的服務(wù)端,數(shù)據(jù)處理及時、可靠。

    2.4設(shè)備功能動態(tài)庫層

    在Linux系統(tǒng)中,Linux內(nèi)核提供了用戶空間與內(nèi)核空間進(jìn)行交互的一組接口,即系統(tǒng)調(diào)用。這些系統(tǒng)調(diào)用接口允許應(yīng)用程序受限地訪問硬件設(shè)備。系統(tǒng)調(diào)用是應(yīng)用程序訪問內(nèi)核空間的唯一手段;除了異常和陷入以外,它們是訪問內(nèi)核唯一的合法入口[5]。

    設(shè)備管理框架中采用設(shè)備功能動態(tài)庫和設(shè)備管理守護(hù)進(jìn)程分離的設(shè)計思想。設(shè)備功能動態(tài)庫主要封裝與內(nèi)核設(shè)備驅(qū)動進(jìn)行交互的接口,應(yīng)用程序向硬件模塊傳遞的命令也將到達(dá)設(shè)備功能動態(tài)庫。即設(shè)備功能動態(tài)庫向上層提供接口給設(shè)備管理守護(hù)進(jìn)程調(diào)用,通過Linux系統(tǒng)調(diào)用向下層調(diào)用內(nèi)核設(shè)備驅(qū)動。

    設(shè)備功能動態(tài)庫層向下層調(diào)用內(nèi)核設(shè)備驅(qū)動的基本過程如下:

    1)在設(shè)備命令處理函數(shù)(即XXX_processCmd,其中XXX代表設(shè)備名稱)實現(xiàn)中,獲取守護(hù)進(jìn)程傳遞下來的功能接口名稱和參數(shù);

    2)根據(jù)功能接口名稱查找設(shè)備動態(tài)庫中的功能接口名稱與功能接口函數(shù)指針映射表;

    3)根據(jù)查找到的功能接口函數(shù)指針調(diào)用對應(yīng)的功能接口函數(shù);

    4)在功能接口函數(shù)實現(xiàn)中,調(diào)用Linux操作系統(tǒng)提供的系統(tǒng)調(diào)用接口,實現(xiàn)對內(nèi)核設(shè)備驅(qū)動的調(diào)用。同時,接收內(nèi)核設(shè)備驅(qū)動返回的數(shù)據(jù),并將數(shù)據(jù)返回給守護(hù)進(jìn)程。數(shù)據(jù)上報給守護(hù)進(jìn)程的格式定義為:“功能接口名稱+'#'+有效數(shù)據(jù)”。

    2.5內(nèi)核設(shè)備驅(qū)動層

    內(nèi)核設(shè)備驅(qū)動直接與底層硬件打交道,并按照硬件設(shè)備的具體工作方式,驅(qū)動硬件設(shè)備進(jìn)行工作。內(nèi)核設(shè)備驅(qū)動作為應(yīng)用空間和硬件之間的紐帶,使得應(yīng)用空間只需通過調(diào)用系統(tǒng)調(diào)用接口就可以讓硬件完成要求的工作[6]。

    Linux內(nèi)核通過系統(tǒng)調(diào)用接口,如open、read、write、ioctl、close等接口,與上層的設(shè)備功能動態(tài)庫進(jìn)行通信[7],并通過設(shè)備驅(qū)動代碼操作下層的設(shè)備硬件,完成硬件操作功能。

    2.6設(shè)備硬件層

    設(shè)備硬件接收來自內(nèi)核設(shè)備驅(qū)動的操作命令[8],執(zhí)行硬件功能實現(xiàn),并在必要時返回響應(yīng)數(shù)據(jù)給應(yīng)用程序。

    3 設(shè)備管理框架的基本操作流程

    設(shè)備管理框架的基本操作流程為:

    1)Android應(yīng)用程序通過綁定服務(wù)接口綁定設(shè)備管理服務(wù),綁定之后,通過設(shè)備管理服務(wù)的AIDL接口文件,即可獲得設(shè)備管理服務(wù)中DVD、GPIO、音頻管理等所有設(shè)備提供的功能接口。

    2)應(yīng)用程序調(diào)用設(shè)備管理服務(wù)AIDL接口文件中提供的功能接口。

    3)設(shè)備管理服務(wù)感知應(yīng)用程序的調(diào)用操作,將應(yīng)用程序的調(diào)用轉(zhuǎn)化為命令格式[9],并將該命令通過Android Local Socket方式發(fā)送給設(shè)備管理守護(hù)進(jìn)程。

    4)設(shè)備管理守護(hù)進(jìn)程接收到調(diào)用命令,根據(jù)已定義的命令格式,對接收到的命令進(jìn)行解析,得到調(diào)用的設(shè)備名稱。如果是第一次調(diào)用該設(shè)備[10],則首先加載該設(shè)備的功能動態(tài)庫,并調(diào)用動態(tài)庫中的初始化接口XXX_init進(jìn)行初始化工作,否則直接調(diào)用該設(shè)備功能動態(tài)庫的命令處理接口XXX_processCmd進(jìn)行命令處理。

    5)設(shè)備功能動態(tài)庫接收守護(hù)進(jìn)程傳遞下來的功能接口名稱和參數(shù),并通過Linux操作系統(tǒng)提供的系統(tǒng)調(diào)用接口調(diào)用設(shè)備內(nèi)核驅(qū)動。

    6)設(shè)備內(nèi)核驅(qū)動通過操作設(shè)備硬件寄存器等方式實現(xiàn)向下層調(diào)用硬件操作功能。

    7)設(shè)備硬件接收內(nèi)核設(shè)備驅(qū)動的硬件操作命令,執(zhí)行硬件功能實現(xiàn)并在必要時返回響應(yīng)數(shù)據(jù)。

    4 結(jié)論

    根據(jù)Android車載終端設(shè)備的特點,本文提出了設(shè)備管理框架的概念,設(shè)計并實現(xiàn)了專門針對Android車載終端的設(shè)備管理框架,將系統(tǒng)中非Android原生的設(shè)備進(jìn)行統(tǒng)一控制和管理。

    通過設(shè)計、實現(xiàn)及使用該設(shè)備管理框架,為應(yīng)用程序開發(fā)提供了統(tǒng)一的接口,降低了應(yīng)用程序開發(fā)的難度,提高了應(yīng)用程序的代碼復(fù)用和可移植性;通過對設(shè)備的統(tǒng)一控制和管理,避免了多個應(yīng)用同時對同一硬件進(jìn)行操作存在的安全等隱患,有效地提高了系統(tǒng)的安全性。設(shè)備管理框架采用標(biāo)準(zhǔn)而又靈活的體系結(jié)構(gòu)設(shè)計,非常易于后續(xù)擴(kuò)展,同時易于在Android平臺的不同項目之間推廣和復(fù)用,給設(shè)備系統(tǒng)帶來了多方面的顯著有益效果,達(dá)到了設(shè)計要求。

    [1]宋滟泓.Android獨大引二次開發(fā)潮中國廠商少積累難有作為[J].IT時代周刊,2012(6):51-52.

    [2]百度百科.Android[EB/OL].[2015-01-25].http://baike.baidu.com/subview/1241829/9322617.htm.

    [3]韓超,梁泉.Android系統(tǒng)原理及開發(fā)要點詳解[M].北京:電子工業(yè)出版社,2010.

    [4]阿耀.JNI:使用Java調(diào)用本地C代碼[EB/OL].(2011-09-16)[2015-01-25].http://www.zdyc.net/html/diary/newWrite/ showlog_vm/sid=1/cat_id=1/log_id=214?sid=1&cat_id= 1&log_id=213.

    [5](美)拉芙(Love,R)著;陳莉君,康華譯.Linux內(nèi)核設(shè)計與實現(xiàn)[M].3版.北京:機(jī)械工業(yè)出版社,2011.

    [6]宋寶華.Linux設(shè)備驅(qū)動開發(fā)詳解[M].2版.北京:人民郵電出版社,2010.

    [7]李先妹.數(shù)字化變電站網(wǎng)絡(luò)通信技術(shù)的研究[J].陜西電力,2011(6):37-40.

    [8]徐進(jìn),徐榮森,梅正茂.基于1394b總線仿真設(shè)備的WDM驅(qū)動開發(fā)[J].電子設(shè)計工程,2015(2):63-66.

    [9]李剛.基于SOA的Web GIS系統(tǒng)框架設(shè)計分析[J].陜西電力,2011(2):38-41.

    [10]張銀勇,吳劍,李向黨.某推進(jìn)系統(tǒng)氣路啟動特性研究[J].火箭推進(jìn),2012(6):20-23,51.

    Design of device management framework based on Android in vehicle terminal

    LI Pei-ming1,2,SUN Jia-song1
    (1.Department of Electronic Engineering,Tsinghua University,Beijing 100084,China;2.Yaxon Network Co.Ltd.,Xiamen 361008,China)

    In order to manage the devices which are not in the primary system of Android,a framework for management of devices which based on LocalSocket and Service is proposed.The framework of the overall hierarchical structure consists of the application,the service for management of peripheral devices,the guardian process,the dynamic library for devices,the kernel device drivers,the device hardware,and so on.Practical application shows that the framework for management of peripheral devices have many advantages,including the clear framework of logic structure,better to support the data interoperability between upper layer and bottom layer,effectively control and manage the peripheral devices which are not in the primary system of Android.The stability of the system is significantly improved,and the design requirement is achieved.

    Android;vehicle terminal;management of peripheral devices;LocalSocket;Service

    TN92

    A

    1674-6236(2016)12-0097-03

    2015-07-02稿件編號:201507028

    李培明(1983—),男,福建泉州人,工程師。研究方向:嵌入式系統(tǒng)。

    猜你喜歡
    功能設(shè)備服務(wù)
    也談詩的“功能”
    中華詩詞(2022年6期)2022-12-31 06:41:24
    諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
    服務(wù)在身邊 健康每一天
    服務(wù)在身邊 健康每一天
    服務(wù)在身邊 健康每一天
    基于MPU6050簡單控制設(shè)備
    電子制作(2018年11期)2018-08-04 03:26:08
    招行30年:從“滿意服務(wù)”到“感動服務(wù)”
    商周刊(2017年9期)2017-08-22 02:57:56
    關(guān)于非首都功能疏解的幾點思考
    500kV輸變電設(shè)備運行維護(hù)探討
    原來他們都是可穿戴設(shè)備
    消費者報道(2014年7期)2014-07-31 11:23:57
    女的被弄到高潮叫床怎么办| 大陆偷拍与自拍| 不卡视频在线观看欧美| 亚洲精品aⅴ在线观看| 免费播放大片免费观看视频在线观看| 久久ye,这里只有精品| 欧美国产精品va在线观看不卡| 精品国产超薄肉色丝袜足j| 久久精品国产亚洲av天美| 深夜精品福利| 欧美精品一区二区免费开放| 亚洲国产精品一区三区| 韩国av在线不卡| 欧美在线黄色| 国产福利在线免费观看视频| 18禁裸乳无遮挡动漫免费视频| xxxhd国产人妻xxx| 欧美成人午夜精品| 另类亚洲欧美激情| 国产黄色免费在线视频| 色哟哟·www| 咕卡用的链子| 久久久a久久爽久久v久久| 岛国毛片在线播放| 精品国产乱码久久久久久小说| 亚洲国产精品一区三区| 人妻系列 视频| 精品视频人人做人人爽| 香蕉丝袜av| 在线天堂中文资源库| 高清黄色对白视频在线免费看| 极品人妻少妇av视频| 久久青草综合色| 日韩中文字幕欧美一区二区 | 国产成人aa在线观看| 一个人免费看片子| 永久网站在线| 亚洲内射少妇av| 我要看黄色一级片免费的| 久久精品国产a三级三级三级| 日本黄色日本黄色录像| 最新中文字幕久久久久| 日韩欧美精品免费久久| 国产野战对白在线观看| 午夜福利网站1000一区二区三区| 国产激情久久老熟女| av不卡在线播放| 天天躁夜夜躁狠狠躁躁| 精品国产一区二区三区久久久樱花| 日韩精品有码人妻一区| 热re99久久国产66热| 纯流量卡能插随身wifi吗| 99国产精品免费福利视频| 亚洲精品久久久久久婷婷小说| 男女边吃奶边做爰视频| av女优亚洲男人天堂| 免费少妇av软件| 精品国产乱码久久久久久男人| 亚洲国产av影院在线观看| 日日摸夜夜添夜夜爱| 999精品在线视频| 亚洲欧美成人精品一区二区| 这个男人来自地球电影免费观看 | 欧美日韩av久久| 男人添女人高潮全过程视频| 日韩av不卡免费在线播放| 熟女少妇亚洲综合色aaa.| 99久国产av精品国产电影| 丝袜喷水一区| 成人毛片a级毛片在线播放| 大码成人一级视频| 欧美日韩av久久| 80岁老熟妇乱子伦牲交| 国产一区二区三区av在线| 9色porny在线观看| 欧美日韩亚洲高清精品| 亚洲成色77777| 精品一区二区免费观看| 在现免费观看毛片| 赤兔流量卡办理| 亚洲精品视频女| 亚洲欧洲精品一区二区精品久久久 | 亚洲伊人久久精品综合| 精品久久久精品久久久| 亚洲精品久久成人aⅴ小说| 男的添女的下面高潮视频| 色哟哟·www| 一级黄片播放器| 国产成人午夜福利电影在线观看| 五月伊人婷婷丁香| 亚洲精品国产av成人精品| 国产精品久久久av美女十八| 电影成人av| 男女高潮啪啪啪动态图| 免费看av在线观看网站| 亚洲国产日韩一区二区| 国产97色在线日韩免费| 少妇人妻精品综合一区二区| av有码第一页| 99热网站在线观看| 日韩 亚洲 欧美在线| 亚洲精华国产精华液的使用体验| 26uuu在线亚洲综合色| 午夜日韩欧美国产| 久久久精品免费免费高清| 亚洲精品视频女| 天堂8中文在线网| 欧美 日韩 精品 国产| 人人妻人人澡人人爽人人夜夜| 99热网站在线观看| 国产黄色视频一区二区在线观看| 九草在线视频观看| 2018国产大陆天天弄谢| 亚洲成人一二三区av| 美女高潮到喷水免费观看| 精品国产一区二区久久| 亚洲国产精品成人久久小说| 99re6热这里在线精品视频| 少妇被粗大猛烈的视频| 久久久精品94久久精品| 国产1区2区3区精品| 国产一级毛片在线| 午夜免费男女啪啪视频观看| 免费高清在线观看日韩| 黄片无遮挡物在线观看| 大片电影免费在线观看免费| 婷婷色综合www| 国产爽快片一区二区三区| 国产毛片在线视频| 欧美日韩一区二区视频在线观看视频在线| 男女免费视频国产| 免费观看a级毛片全部| 色婷婷av一区二区三区视频| 欧美国产精品一级二级三级| 欧美人与性动交α欧美软件| 欧美亚洲日本最大视频资源| 日韩精品免费视频一区二区三区| 90打野战视频偷拍视频| 青草久久国产| 日韩一卡2卡3卡4卡2021年| 日韩成人av中文字幕在线观看| 亚洲欧美中文字幕日韩二区| 久久精品国产亚洲av天美| 欧美黄色片欧美黄色片| av.在线天堂| 欧美精品国产亚洲| 婷婷色综合大香蕉| 亚洲四区av| 亚洲精品一二三| 中文字幕人妻熟女乱码| 久久精品国产综合久久久| 巨乳人妻的诱惑在线观看| 亚洲一区二区三区欧美精品| 中文字幕av电影在线播放| 国产野战对白在线观看| 国产精品一国产av| 男人爽女人下面视频在线观看| 成年动漫av网址| 国产黄频视频在线观看| 99久久精品国产国产毛片| 少妇的逼水好多| 久久精品国产自在天天线| 欧美 亚洲 国产 日韩一| videos熟女内射| 久久久欧美国产精品| 亚洲av免费高清在线观看| 国产精品免费视频内射| 狂野欧美激情性bbbbbb| 自线自在国产av| 宅男免费午夜| 久久精品国产亚洲av高清一级| 亚洲欧洲国产日韩| 人人澡人人妻人| 免费黄色在线免费观看| 亚洲国产毛片av蜜桃av| 久久久久久久久久久免费av| 婷婷色综合大香蕉| 成人影院久久| 9热在线视频观看99| 亚洲第一av免费看| av有码第一页| 观看av在线不卡| 丰满迷人的少妇在线观看| 丰满饥渴人妻一区二区三| 考比视频在线观看| 18在线观看网站| 亚洲情色 制服丝袜| 老汉色∧v一级毛片| 国产精品二区激情视频| 久久99蜜桃精品久久| 男女高潮啪啪啪动态图| 久久久国产欧美日韩av| 中文字幕人妻熟女乱码| 在线免费观看不下载黄p国产| 黄色一级大片看看| 国产精品人妻久久久影院| 三级国产精品片| 夫妻性生交免费视频一级片| 男女边吃奶边做爰视频| tube8黄色片| 国产精品国产三级专区第一集| 大片免费播放器 马上看| 日韩欧美一区视频在线观看| 观看av在线不卡| 国产老妇伦熟女老妇高清| 精品少妇黑人巨大在线播放| 欧美中文综合在线视频| 久久久a久久爽久久v久久| 久久99蜜桃精品久久| 99久久精品国产国产毛片| 深夜精品福利| 各种免费的搞黄视频| 丰满饥渴人妻一区二区三| 丝袜美腿诱惑在线| av国产精品久久久久影院| 天天影视国产精品| 少妇人妻 视频| 亚洲一区中文字幕在线| 国产男女超爽视频在线观看| 久久久久久久精品精品| 午夜免费男女啪啪视频观看| 中文精品一卡2卡3卡4更新| 成人二区视频| 亚洲精品久久久久久婷婷小说| 一级毛片我不卡| 高清视频免费观看一区二区| 国产精品 欧美亚洲| 久久久久久人妻| a级毛片在线看网站| videossex国产| 久久av网站| 中国三级夫妇交换| 亚洲成人一二三区av| 九草在线视频观看| 免费不卡的大黄色大毛片视频在线观看| 中文乱码字字幕精品一区二区三区| 亚洲精品久久成人aⅴ小说| 午夜日本视频在线| 一本大道久久a久久精品| 欧美+日韩+精品| 亚洲综合色网址| 女的被弄到高潮叫床怎么办| 在线观看免费日韩欧美大片| 欧美日韩av久久| 国产精品一区二区在线观看99| 久久久久人妻精品一区果冻| 人妻 亚洲 视频| 日本wwww免费看| 亚洲精品成人av观看孕妇| 国产熟女欧美一区二区| 日日摸夜夜添夜夜爱| 久久毛片免费看一区二区三区| 少妇人妻久久综合中文| 亚洲国产成人一精品久久久| 视频在线观看一区二区三区| 美女国产高潮福利片在线看| 肉色欧美久久久久久久蜜桃| 男男h啪啪无遮挡| 亚洲视频免费观看视频| www.精华液| 精品人妻一区二区三区麻豆| 日本色播在线视频| 国产亚洲一区二区精品| 国产在线免费精品| 色吧在线观看| 亚洲国产精品成人久久小说| kizo精华| 亚洲天堂av无毛| 午夜福利视频精品| 老熟女久久久| 亚洲成人av在线免费| 七月丁香在线播放| 又黄又粗又硬又大视频| 欧美精品高潮呻吟av久久| 精品福利永久在线观看| 国产激情久久老熟女| 性色av一级| 91精品三级在线观看| 成人国产麻豆网| 春色校园在线视频观看| 亚洲国产看品久久| 国产黄色免费在线视频| 黄片播放在线免费| 丝瓜视频免费看黄片| 丝袜美腿诱惑在线| 一级片'在线观看视频| 少妇熟女欧美另类| 国产欧美亚洲国产| 国产麻豆69| 午夜福利视频精品| 国产在线一区二区三区精| 天堂中文最新版在线下载| 欧美精品av麻豆av| 一边摸一边做爽爽视频免费| h视频一区二区三区| 欧美亚洲 丝袜 人妻 在线| 街头女战士在线观看网站| 在线观看美女被高潮喷水网站| 美女视频免费永久观看网站| 久久久久久久久久人人人人人人| 色吧在线观看| 久久精品夜色国产| 高清视频免费观看一区二区| 免费播放大片免费观看视频在线观看| 午夜福利影视在线免费观看| 久久婷婷青草| 国产黄频视频在线观看| 亚洲国产最新在线播放| 久久久a久久爽久久v久久| 日韩av在线免费看完整版不卡| 99久久精品国产国产毛片| 亚洲成色77777| 久久精品久久精品一区二区三区| 亚洲久久久国产精品| 亚洲欧洲精品一区二区精品久久久 | 色视频在线一区二区三区| 日韩一区二区视频免费看| 可以免费在线观看a视频的电影网站 | 精品国产一区二区三区四区第35| 最新的欧美精品一区二区| 黄色毛片三级朝国网站| 日本欧美视频一区| 最新的欧美精品一区二区| 亚洲欧美一区二区三区久久| 精品人妻在线不人妻| 日韩精品有码人妻一区| 久久久久精品性色| 在线看a的网站| 亚洲欧美清纯卡通| 午夜福利在线观看免费完整高清在| 午夜日韩欧美国产| 国产av精品麻豆| 午夜福利视频精品| 国产高清不卡午夜福利| 日韩欧美精品免费久久| 你懂的网址亚洲精品在线观看| videossex国产| 亚洲经典国产精华液单| 99九九在线精品视频| 色94色欧美一区二区| 久久97久久精品| 精品人妻熟女毛片av久久网站| 精品第一国产精品| 91精品三级在线观看| 青青草视频在线视频观看| 久久亚洲国产成人精品v| 一级片'在线观看视频| 在线观看一区二区三区激情| av又黄又爽大尺度在线免费看| 国产亚洲av片在线观看秒播厂| 亚洲av成人精品一二三区| 国产欧美日韩一区二区三区在线| 午夜av观看不卡| 国产片特级美女逼逼视频| 黄色一级大片看看| 美女国产视频在线观看| 亚洲欧美中文字幕日韩二区| 国产成人一区二区在线| 又大又黄又爽视频免费| 国产精品久久久久久精品电影小说| 日韩电影二区| 亚洲色图 男人天堂 中文字幕| 老司机影院成人| 女人久久www免费人成看片| 男女国产视频网站| 18禁观看日本| 边亲边吃奶的免费视频| 91精品伊人久久大香线蕉| 狠狠精品人妻久久久久久综合| 香蕉丝袜av| 国产精品一区二区在线不卡| 国产无遮挡羞羞视频在线观看| 欧美日韩综合久久久久久| 国产日韩一区二区三区精品不卡| 国产日韩欧美亚洲二区| av在线观看视频网站免费| 一区二区三区乱码不卡18| 午夜福利乱码中文字幕| 免费播放大片免费观看视频在线观看| 丝袜脚勾引网站| 成人亚洲精品一区在线观看| 91久久精品国产一区二区三区| 十八禁高潮呻吟视频| 国产精品偷伦视频观看了| 亚洲四区av| av有码第一页| 国产高清国产精品国产三级| 精品亚洲成a人片在线观看| 国产欧美日韩综合在线一区二区| 国产在线一区二区三区精| 美女国产视频在线观看| 欧美在线黄色| 一级毛片电影观看| 高清视频免费观看一区二区| 国产免费视频播放在线视频| 国产熟女欧美一区二区| 久久久久精品性色| 久久99精品国语久久久| 欧美成人精品欧美一级黄| 久久精品国产自在天天线| 自线自在国产av| 色婷婷av一区二区三区视频| 巨乳人妻的诱惑在线观看| 国产男女内射视频| 亚洲国产精品999| 国产成人av激情在线播放| 国产欧美亚洲国产| 日韩欧美精品免费久久| 永久免费av网站大全| 亚洲欧美精品综合一区二区三区 | 日韩成人av中文字幕在线观看| 亚洲久久久国产精品| 久久97久久精品| 国产免费现黄频在线看| 又黄又粗又硬又大视频| 美女大奶头黄色视频| 97精品久久久久久久久久精品| 日韩av不卡免费在线播放| 三级国产精品片| av免费观看日本| 丝瓜视频免费看黄片| 十分钟在线观看高清视频www| 亚洲第一av免费看| 亚洲欧洲精品一区二区精品久久久 | 老女人水多毛片| 美女国产视频在线观看| 精品国产一区二区三区四区第35| 搡老乐熟女国产| 精品人妻熟女毛片av久久网站| 卡戴珊不雅视频在线播放| 国产精品av久久久久免费| 女性被躁到高潮视频| 亚洲激情五月婷婷啪啪| 欧美 日韩 精品 国产| 精品一区二区三区四区五区乱码 | 免费日韩欧美在线观看| 91午夜精品亚洲一区二区三区| 麻豆精品久久久久久蜜桃| 观看av在线不卡| 十八禁高潮呻吟视频| 国产成人精品婷婷| 亚洲国产精品999| 啦啦啦视频在线资源免费观看| 99精国产麻豆久久婷婷| 欧美日韩精品网址| 男人操女人黄网站| 国产亚洲精品第一综合不卡| 一二三四在线观看免费中文在| 国产不卡av网站在线观看| 亚洲精品乱久久久久久| 免费黄网站久久成人精品| 一区在线观看完整版| 丰满饥渴人妻一区二区三| 最近最新中文字幕免费大全7| 午夜精品国产一区二区电影| av在线观看视频网站免费| 黄色视频在线播放观看不卡| 黄频高清免费视频| 咕卡用的链子| 国产免费现黄频在线看| 久久97久久精品| 中文字幕人妻丝袜一区二区 | 午夜福利视频精品| 久久久久久久久久人人人人人人| 下体分泌物呈黄色| 国产一区二区三区av在线| 久久精品国产亚洲av天美| 亚洲av福利一区| 欧美老熟妇乱子伦牲交| 国产精品久久久久久av不卡| 制服丝袜香蕉在线| 丰满饥渴人妻一区二区三| 日韩不卡一区二区三区视频在线| 巨乳人妻的诱惑在线观看| 搡老乐熟女国产| 国产精品.久久久| 亚洲av免费高清在线观看| 国产精品国产三级专区第一集| 999久久久国产精品视频| 十分钟在线观看高清视频www| 日韩欧美一区视频在线观看| 亚洲,一卡二卡三卡| 免费女性裸体啪啪无遮挡网站| 在线免费观看不下载黄p国产| av福利片在线| 美女午夜性视频免费| 久久综合国产亚洲精品| 夫妻性生交免费视频一级片| 最近2019中文字幕mv第一页| 国产欧美日韩综合在线一区二区| 精品一区二区三卡| 日本av手机在线免费观看| 熟女电影av网| 麻豆精品久久久久久蜜桃| 久久这里只有精品19| 国产色婷婷99| 黄色怎么调成土黄色| 熟女电影av网| 建设人人有责人人尽责人人享有的| 日本wwww免费看| 日韩一区二区视频免费看| 亚洲 欧美一区二区三区| 中文字幕人妻丝袜制服| 99热全是精品| 亚洲国产av新网站| av视频免费观看在线观看| 啦啦啦在线免费观看视频4| 亚洲欧美一区二区三区黑人 | 免费观看a级毛片全部| 中文字幕亚洲精品专区| 久久精品久久久久久噜噜老黄| 精品亚洲乱码少妇综合久久| 爱豆传媒免费全集在线观看| 久久狼人影院| 国产精品欧美亚洲77777| 国产精品不卡视频一区二区| 免费观看性生交大片5| 性高湖久久久久久久久免费观看| 大片免费播放器 马上看| 在线天堂最新版资源| 下体分泌物呈黄色| 天天躁夜夜躁狠狠久久av| 丰满饥渴人妻一区二区三| 91国产中文字幕| 免费黄网站久久成人精品| 精品一区二区免费观看| 欧美精品高潮呻吟av久久| 亚洲av福利一区| 80岁老熟妇乱子伦牲交| 青春草亚洲视频在线观看| 亚洲久久久国产精品| 久久97久久精品| 精品少妇黑人巨大在线播放| 啦啦啦在线免费观看视频4| 成年人免费黄色播放视频| 国产av国产精品国产| 亚洲精品美女久久av网站| 日日爽夜夜爽网站| 久久久久久久久久久免费av| 99久久综合免费| 国产熟女欧美一区二区| 美女国产高潮福利片在线看| 午夜日本视频在线| 一区二区三区激情视频| 国产精品一国产av| 三上悠亚av全集在线观看| 亚洲国产av新网站| videos熟女内射| 亚洲国产欧美在线一区| 成年女人在线观看亚洲视频| 黑人猛操日本美女一级片| kizo精华| 久久综合国产亚洲精品| 国产欧美亚洲国产| 精品卡一卡二卡四卡免费| av.在线天堂| 黄色视频在线播放观看不卡| 国产精品国产三级专区第一集| 婷婷成人精品国产| 69精品国产乱码久久久| 国产深夜福利视频在线观看| 日韩大片免费观看网站| av在线老鸭窝| 色视频在线一区二区三区| 亚洲av日韩在线播放| 热re99久久精品国产66热6| 国产97色在线日韩免费| 99re6热这里在线精品视频| 亚洲精品日本国产第一区| 国产欧美日韩综合在线一区二区| 少妇的逼水好多| 美国免费a级毛片| 成人黄色视频免费在线看| 国产淫语在线视频| 一二三四中文在线观看免费高清| 视频在线观看一区二区三区| 老女人水多毛片| 久久青草综合色| 天天躁夜夜躁狠狠久久av| 十八禁高潮呻吟视频| 黄片播放在线免费| 亚洲一码二码三码区别大吗| 九九爱精品视频在线观看| 久久影院123| 大话2 男鬼变身卡| 999久久久国产精品视频| 国产人伦9x9x在线观看 | 一级a爱视频在线免费观看| 极品人妻少妇av视频| 伦精品一区二区三区| 国产老妇伦熟女老妇高清| 少妇人妻 视频| 亚洲国产精品999| 国产片特级美女逼逼视频| 精品一区二区三区四区五区乱码 | 丝袜在线中文字幕| 男女边吃奶边做爰视频| 熟女电影av网| 久久久久久人人人人人| 国产视频首页在线观看| 成年美女黄网站色视频大全免费| 纯流量卡能插随身wifi吗| 搡老乐熟女国产| 最近最新中文字幕大全免费视频 | 丝袜在线中文字幕| 97在线视频观看| 狠狠婷婷综合久久久久久88av| 秋霞在线观看毛片| 国产国语露脸激情在线看| 欧美在线黄色| 天堂8中文在线网| 叶爱在线成人免费视频播放| 曰老女人黄片| 91国产中文字幕| 亚洲美女搞黄在线观看|