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

OpenHarmony編譯構(gòu)建系統(tǒng)—淺談與實(shí)踐

系統(tǒng) OpenHarmony
? 在官網(wǎng)中提到了,OpenHarmony編譯子系統(tǒng)是以GN和Ninja構(gòu)建為基座,對(duì)構(gòu)建和配置粒度進(jìn)行部件化抽象、對(duì)內(nèi)建模塊進(jìn)行功能增強(qiáng)、對(duì)業(yè)務(wù)模塊進(jìn)行功能擴(kuò)展的系統(tǒng)。

想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

前言

經(jīng)過(guò)一段時(shí)間的南向?qū)W習(xí),基于Hi3861智能家居開(kāi)發(fā)套件的內(nèi)核編程,驅(qū)動(dòng)開(kāi)發(fā)已經(jīng)基本解決了。這篇來(lái)聊聊OpenHarmony的編譯構(gòu)建,經(jīng)過(guò)前面的實(shí)踐,再來(lái)看編譯構(gòu)建。會(huì)對(duì)之前的編譯流程做一些解釋,實(shí)踐一個(gè)基于Hispark_pegasus的自己的解決方案。

編譯構(gòu)建概述

在官網(wǎng)中提到了,OpenHarmony編譯子系統(tǒng)是以GN和Ninja構(gòu)建為基座,對(duì)構(gòu)建和配置粒度進(jìn)行部件化抽象、對(duì)內(nèi)建模塊進(jìn)行功能增強(qiáng)、對(duì)業(yè)務(wù)模塊進(jìn)行功能擴(kuò)展的系統(tǒng),該系統(tǒng)提供以下基本功能:

  • 以部件為最小粒度拼裝產(chǎn)品和獨(dú)立編譯。
  • 支持輕量、小型、標(biāo)準(zhǔn)三種系統(tǒng)的解決方案級(jí)版本構(gòu)建,以及用于支撐應(yīng)用開(kāi)發(fā)者使用IDE開(kāi)發(fā)的SDK開(kāi)發(fā)套件的構(gòu)建。
  • 支持芯片解決方案廠商的靈活定制和獨(dú)立編譯。

hb、GN、Ninja

回想我們?cè)贠penHarmony搭建編譯環(huán)境的時(shí)候,進(jìn)行了編譯操作是怎么進(jìn)行的了嗎?首先是hb set 選擇了wifiiot_hispark_pegasus,然后進(jìn)行了全量編譯操作hb build -f 。

hb set

選擇產(chǎn)品或者說(shuō)選擇一個(gè)編譯的目錄,我們可以自己創(chuàng)建自己的產(chǎn)品,哪怕他只有一個(gè)hello,world的功能。而其他的產(chǎn)品或者說(shuō)代碼都不會(huì)參與編譯,這也解釋了什么是最小的產(chǎn)品獨(dú)立編譯。編譯什么是我們手動(dòng)選擇的,功能可大可小。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

hb build

編譯指定的產(chǎn)品(代碼),根據(jù)指定的產(chǎn)品開(kāi)發(fā)板,讀取開(kāi)發(fā)板config.gni文件的內(nèi)容,主要是一些編譯工具鏈和編譯的配置選項(xiàng)。

我們也可以用-T修飾命令,讓他只編譯某一個(gè)源文件。

hb build -T 路徑:目標(biāo)

BUILD.gn

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

這個(gè)文件應(yīng)該說(shuō)很熟悉了,每一個(gè)案例都要去寫這個(gè)gn文件,gn是Generate ninja的縮寫,用于產(chǎn)生ninja文件。在我們之前簡(jiǎn)單案例的開(kāi)發(fā)中,如“hello,world”,gn文件就是一個(gè)編譯腳本。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

我們對(duì)nijia的印象不是很深,因?yàn)樗亲詣?dòng)執(zhí)行的,我們作為開(kāi)發(fā)者沒(méi)有去人工干涉他。

編譯小總結(jié)

總結(jié)來(lái)說(shuō),hb就是OpenHarmony的命令行工具,用來(lái)執(zhí)行編譯命令。gn生成nijia文件,nijia是一個(gè)專注于速度的小型編譯構(gòu)建系統(tǒng)。他們?nèi)咴谡麄€(gè)編譯中的流程如下圖所示:

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

整個(gè)編譯構(gòu)建的流程圖如下:

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

OpenHarmony系統(tǒng)

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

OpenHarmony整體遵從分層設(shè)計(jì),系統(tǒng)功能按照“系統(tǒng) > 子系統(tǒng) > 組件”逐級(jí)展開(kāi),在多設(shè)備部署場(chǎng)景下,支持根據(jù)實(shí)際需求裁剪某些非必要的子系統(tǒng)或部件,非常的靈活,高內(nèi)聚低耦合。

配置規(guī)則

組件配置規(guī)則

遵循:{領(lǐng)域(子系統(tǒng)集)}/{子系統(tǒng)}/{組件}的一個(gè)規(guī)則,從下面的源碼中可以看出:

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

組件定義

組件定義在build/lite/components/下:

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

定義就是一個(gè)JSON文件,由一個(gè)總的components數(shù)組包含每一個(gè)component對(duì)象,對(duì)象中包含了組件的所有屬性。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

至此,我們知道怎么去定義組件,定義在哪里,也就能新建組件了。但是新出現(xiàn)的組件,怎么能后加入到編譯中呢,targets參數(shù)其實(shí)已經(jīng)說(shuō)明清楚了,下面通過(guò)Wifi組件的案例做具體解釋。

WiFi組件

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

我們可以根據(jù)targets參數(shù)追蹤到目錄中/foundation/communication/wifi/BUILD.gn文件中的wifi。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

$WIFI_ROOT_DIR表示/foundation/communication/wifi,之后繼續(xù)跟蹤,這些dependences,完成相應(yīng)BUILD.gn腳本的執(zhí)行,也就讓組件被編譯系統(tǒng)所識(shí)別,完成組件的編譯了。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

組件總結(jié)

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

芯片解決方案配置規(guī)則

芯片解決方案的路徑如下圖所示:

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

芯片解決方案組件會(huì)隨產(chǎn)品選擇的開(kāi)發(fā)板默認(rèn)編譯。

產(chǎn)品解決方案配置規(guī)則

產(chǎn)品解決方案的路徑如下圖所示:

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

產(chǎn)品解決方案,在config.json文件中進(jìn)行配置:

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

  • “product_name”: 產(chǎn)品名稱,指定為"wifiiot_hispark_pegasus"。
  • “type”: 產(chǎn)品類型,被標(biāo)記為"mini"。
  • “version”: 產(chǎn)品版本號(hào),標(biāo)記為"3.0"。
  • “ohos_version”: 操作系統(tǒng)版本,使用的是OpenHarmony 1.0。
  • “device_company”: 設(shè)備制造公司,此產(chǎn)品由"hisilicon"制造。
  • “device_build_path”: 設(shè)備構(gòu)建路徑,指定為"device/board/hisilicon/hispark_pegasus"。
  • “board”: 開(kāi)發(fā)板名稱,被標(biāo)記為"hispark_pegasus"。
  • “kernel_type”: 內(nèi)核類型,使用的是"liteos_m"。
  • “kernel_is_prebuilt”: 內(nèi)核是否預(yù)構(gòu)建,被標(biāo)記為true。
  • “kernel_version”: 內(nèi)核版本號(hào),此處為空。
  • “subsystems”: 子系統(tǒng)列表,包含了產(chǎn)品的不同子系統(tǒng)及其組件信息。
  • “subsystem”: 子系統(tǒng)名稱,表示不同的功能區(qū)域。
  • “components”: 組件列表,表示在該子系統(tǒng)中使用的組件及其特性。
  • “component”: 組件名稱,表示不同的功能組件。
  • “features”: 特性列表,描述了組件的不同特性。
  • “third_party_dir”: 第三方庫(kù)路徑,指定為"http://device/soc/hisilicon/hi3861v100/sdk_liteos/third_party"。
  • “product_adapter_dir”: 產(chǎn)品適配層路徑,指定為"http://vendor/hisilicon/hispark_pegasus/hals"。

最后,也就能看到我們的hb set從頂層,選擇vendor下的產(chǎn)品解決方案,通過(guò)方案中的各個(gè)子系統(tǒng)集,子系統(tǒng),組件,進(jìn)行編譯。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

新增自己的產(chǎn)品解決方案

組件定義

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

首先,在application/sample下創(chuàng)建一個(gè)myComponent等如下目錄。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

完成組件功能的編寫

component.c

#include <stdio.h>
#include "ohos_init.h"

void entry(void){
    printf("test component!"); // 哪怕這個(gè)解決方案是個(gè)hello,world呢
}

SYS_RUN(entry);

BUILD.gn

static_library(test){
    sources = [
        "component.c"
    ]
    include_dirs = [
        "http://commonlibrary/utils_lite/include"
    ]
}

定義組件:

在build/lite/components/創(chuàng)建application1.json編寫如下代碼:

{
    "components": [
      {
        "component": "myComponent",
        "description": "a test component",
        "optional": "true",
        "dirs": [
          "applications/sample/myComponent"
        ],
        "targets": [
          "http://applications/sample/myComponent:test"
        ],
        "adapted_kernel": [ "liteos_m" ]
        }
    ]
}

我們可以使用 -T 修飾我們的編譯命令,實(shí)現(xiàn)指定文件編譯。

hb build -f -T //applications/sample/myComponent:test

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

說(shuō)明我們的組件編寫沒(méi)什么問(wèn)題。

解決方案定義

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

創(chuàng)建如下目錄,并編寫config.json配置文件。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

config.json

{
    "product_name": "product",
    "type": "mini",
    "version": "3.0",
    "ohos_version": "OpenHarmony 3.2",
    "device_company": "hisilicon",
    "device_build_path": "device/board/hisilicon/hispark_pegasus",
    "board": "hispark_pegasus",
    "kernel_type": "liteos_m",
    "kernel_is_prebuilt": true,
    "kernel_version": "",
    "subsystems": [
      {
        "subsystem": "applications1", // 用我們自己定義的子系統(tǒng)的組件
        "components": [
          { "component": "myComponent", "features":[] }
        ]
      },
      {
        "subsystem": "iothardware",
        "components": [
          { "component": "peripheral", "features":[] }
        ]
      },
      {
        "subsystem": "hiviewdfx",
        "components": [
          { "component": "hilog_lite", "features":[] },
          { "component": "hievent_lite", "features":[] },
          { "component": "blackbox", "features":[] },
          { "component": "hidumper_mini", "features":[] }
        ]
      },
      {
        "subsystem": "systemabilitymgr",
        "components": [
          { "component": "samgr_lite", "features":[] }
        ]
      },
      {
        "subsystem": "security",
        "components": [
          { "component": "device_auth", "features":[] },
          { "component": "huks", "features":
            [
              "disable_huks_binary = false",
              "disable_authenticate = false",
              "huks_use_lite_storage = true",
              "huks_use_hardware_root_key = true",
              "huks_config_file = \"hks_config_lite.h\"",
              "ohos_security_huks_mbedtls_porting_path = \"http://device/soc/hisilicon/hi3861v100/sdk_liteos/third_party/mbedtls\""
            ]
          }
        ]
      },
      {
        "subsystem": "startup",
        "components": [
          { "component": "bootstrap_lite", "features":[] },
          { "component": "syspara_lite", "features":[] },
          { "component": "init_lite", "features":
            [
              "enable_ohos_startup_init_feature_begetctl_liteos = true",
              "enable_ohos_startup_init_lite_use_thirdparty_mbedtls = true"
            ]
          }
        ]
      },
      {
        "subsystem": "communication",
        "components": [
          { "component": "wifi_lite", "features":[] },
          { "component": "dsoftbus", "features":[] },
          { "component": "wifi_aware", "features":[]}
        ]
      },
      {
        "subsystem": "updater",
        "components": [
          { "component": "ota_lite", "features":[] }
        ]
      },
      {
        "subsystem": "commonlibrary",
        "components": [
          { "component": "file", "features":[] }
        ]
      },
      {
       "subsystem": "xts",
       "components": [
         { "component": "xts_acts", "features":
          [
            "enable_ohos_test_xts_acts_use_thirdparty_lwip = false"
          ]
         },
         { "component": "xts_tools", "features":[] },
         { "component": "device_attest_lite", "features":[] }
        ]
      }
    ],
    "third_party_dir": "http://device/soc/hisilicon/hi3861v100/sdk_liteos/third_party",
    "product_adapter_dir": "http://vendor/hisilicon/hispark_pegasus/hals"
  }

將hispark_pegasus下的hal/utils復(fù)制到我們自己的產(chǎn)品解決方案中。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

創(chuàng)建BUILD.gn文件編寫編譯腳本。

group("product"){
    
}

編譯檢驗(yàn)

執(zhí)行hb set命令,觀察產(chǎn)品解決方案。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

完成編譯。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

燒錄測(cè)試

選擇我們的產(chǎn)品解決方案product。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

串口調(diào)試,觀察控制臺(tái)輸出。

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

產(chǎn)品解決方案總結(jié)

OpenHarmony編譯構(gòu)建系統(tǒng)[淺談與實(shí)踐]-開(kāi)源基礎(chǔ)軟件社區(qū)

結(jié)束語(yǔ)

希望能夠幫助到大家,對(duì)OpenHarmony的編譯過(guò)程有一個(gè)全面的感知。

想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

責(zé)任編輯:jianghua 來(lái)源: 51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2024-07-26 16:39:33

鴻蒙系統(tǒng)開(kāi)源構(gòu)建系統(tǒng)

2021-12-02 10:05:01

鴻蒙HarmonyOS應(yīng)用

2023-03-09 15:15:21

鴻蒙模塊編譯

2021-06-28 09:38:50

鴻蒙HarmonyOS應(yīng)用

2023-07-17 16:13:21

組件模塊開(kāi)發(fā)的鴻蒙

2016-09-28 22:04:01

GNUAutotoolLinux

2021-07-27 11:54:51

windows系統(tǒng)OpenHarmony

2023-03-10 09:32:31

ANY功能短數(shù)據(jù)通信功能

2023-02-01 16:28:30

Linux內(nèi)核鴻蒙

2024-05-14 08:33:57

Native API鴻蒙工具

2023-07-28 15:32:26

鴻蒙操作系統(tǒng)

2022-09-15 14:56:12

GDB調(diào)試鴻蒙

2023-08-07 15:13:09

設(shè)備開(kāi)發(fā)鴻蒙

2024-03-07 07:31:20

畫像標(biāo)簽算法業(yè)務(wù)數(shù)據(jù)

2011-06-21 16:51:21

Qt 靜態(tài) 編譯

2021-09-16 15:04:28

鴻蒙HarmonyOS應(yīng)用

2022-02-21 14:49:26

OpenHarmon操作系統(tǒng)鴻蒙

2024-10-23 21:21:32

2009-07-27 18:00:23

2009-07-24 15:49:48

ASP.NET考試系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

岛国在线视频网站| 中文字幕无线码一区| 视频成人永久免费视频| 夜夜嗨av一区二区三区网页| 国产一区在线免费| 波多野结衣黄色网址| 久久久久蜜桃| 日韩精品极品在线观看播放免费视频| 91蝌蚪视频在线观看| 成人日韩欧美| 久久久久久毛片| 亚洲一区二区久久久久久| 日本在线观看视频网站| 波多野结衣的一区二区三区| 日韩免费电影一区| 美女网站色免费| 97在线视频免费观看完整版| 国产欧美日韩精品在线| av成人在线电影| 成人午夜精品视频| 亚洲麻豆一区| 麻豆国产va免费精品高清在线| 黄色网址在线视频| 亚洲伦理久久| 日本久久一区二区| a级免费在线观看| 日本视频不卡| 久久久久久久精| 91在线视频成人| 日日夜夜狠狠操| 亚洲激情自拍| 久久综合电影一区| 麻豆视频免费在线播放| 日韩av三区| 欧美mv日韩mv亚洲| aaa一级黄色片| 日韩中文视频| 欧美日韩亚洲一区二| 日本天堂免费a| 欧美jizzhd69巨大| 中文字幕不卡在线| 欧美裸体网站| 欧美在线精品一区二区三区| 国产一区二区三区综合| 国产伦精品免费视频| av片免费观看| 久久亚洲风情| 国产成人精品视频| 男人天堂av在线播放| 一本色道88久久加勒比精品| 欧美第一页在线| 欧美国产日韩在线观看成人 | 欧美综合天天夜夜久久| 黄在线观看网站| 黄色在线观看www| 亚洲超丰满肉感bbw| 国产精品免费看久久久无码| 成人免费高清| 亚洲精品美国一| 国内自拍中文字幕| 欧美性受ⅹ╳╳╳黑人a性爽| 日韩理论片一区二区| 91制片厂免费观看| 亚洲奶水xxxx哺乳期| 一区二区免费看| 东北少妇不带套对白| 国产美女一区视频| 午夜天堂影视香蕉久久| koreanbj精品视频一区| av综合电影网站| 欧美亚洲一区二区在线观看| 国产又大又黄又猛| av日韩在线免费观看| 日韩无一区二区| 88av在线播放| 嫩草影视亚洲| 色偷偷88888欧美精品久久久| 天天色天天综合| 综合久久99| 午夜精品久久久99热福利| 91精品国产综合久久久蜜臀九色| 久久久噜噜噜| 成人黄色在线免费| 不卡视频免费在线观看| heyzo一本久久综合| 乱色588欧美| 欧美jizz18性欧美| 亚洲成在人线免费| 少妇人妻互换不带套| 日本国产亚洲| 亚洲国产91色在线| 久久久久亚洲av成人无码电影| 欧美电影《睫毛膏》| 欧美高清视频免费观看| 亚洲va在线观看| 国产伦精品一区二区三区免费| 国产精品一区二区欧美| 国产精品四虎| 亚洲综合视频在线| 亚洲精品一二三四五区| 日韩精品成人| 亚洲午夜未满十八勿入免费观看全集| 成人高潮免费视频| 亚洲综合不卡| 5g影院天天爽成人免费下载| 欧美日韩国产综合视频| 亚洲精品免费一二三区| 久久综合久久色| 视频成人永久免费视频| 中文字幕9999| 日韩欧美不卡视频| 精久久久久久久久久久| 免费看成人片| 久久av色综合| 日韩一级大片在线观看| 无码人妻精品一区二区中文| 国产精品大片| 91精品国产综合久久久久久久久| 无码国产色欲xxxx视频| 亚洲人吸女人奶水| 天天操天天爽天天射| 林ゆな中文字幕一区二区| 久久影视电视剧免费网站清宫辞电视| 欧美亚洲精品天堂| 高清不卡在线观看| 黄色a级在线观看| 色猫猫成人app| 日韩黄色高清视频| 国产亚洲精品女人久久久久久| 美女免费视频一区二区| 欧美日韩精品免费看| av福利导福航大全在线| 欧美zozo另类异族| 无码黑人精品一区二区| 美女视频一区在线观看| 欧美日韩综合另类| 手机在线观看av| 亚洲成人网在线观看| 欧美久久久久久久久久久久| 麻豆视频一区二区| 日韩欧美第二区在线观看| 小草在线视频免费播放| 亚洲精品av在线| 精品一区二区三区四| 国产精品99久久久久久久女警| 一区二区三区四区欧美日韩| 青青热久免费精品视频在线18| 日韩激情片免费| 日韩免费av片| 99精品在线免费| 日本福利视频在线| 宅男在线一区| 国产精品极品尤物在线观看 | 亚洲国产高清在线观看视频| 欧美韩国日本在线| 蜜桃国内精品久久久久软件9| 26uuu国产精品视频| 午夜在线视频观看| 欧美午夜性色大片在线观看| 欧美一区二区三区成人精品| 午夜亚洲福利在线老司机| 久久国产精品 国产精品| 亚洲私拍视频| 国产亚洲aⅴaaaaaa毛片| 久久这里只有精品9| 国产精品嫩草影院av蜜臀| 中文字幕久久av| 亚洲欧美综合国产精品一区| 国产99在线免费| 竹内纱里奈兽皇系列在线观看| 亚洲娇小xxxx欧美娇小| 91porny九色| 日韩一区有码在线| 制服.丝袜.亚洲.中文.综合懂| 亚洲无吗在线| 欧美午夜视频在线| 日本亚洲欧洲无免费码在线| 欧美精品一二区| 天堂av资源网| 欧美亚洲综合色| 欧美又粗又大又长| www国产精品av| 三区视频在线观看| 韩国欧美一区| 欧美一区二区综合| 国产精品高清一区二区 | **在线精品| 精品国偷自产在线| 黄色av一区二区三区| 色婷婷综合久久久中文字幕| 国产精品视频一区二区在线观看| 国产xxx精品视频大全| 黄在线观看网站| 99精品视频在线| 国产在线精品一区| 成人在线观看免费播放| 欧美精品www| 第一福利在线| 精品乱人伦小说| 国产精品露脸视频| 无码av免费一区二区三区试看| 亚洲无人区码一码二码三码的含义| 国产一区二区在线视频| 成人小视频在线看| 午夜视频精品| 日韩中文字幕一区二区| 91精品国产自产精品男人的天堂| 国产不卡av在线| 啦啦啦中文在线观看日本| 国产亚洲欧洲在线| 亚洲日本香蕉视频| 欧美一区日韩一区| 最近中文字幕av| 精品国产31久久久久久| 538精品在线视频| 国产精品午夜春色av| 亚洲综合自拍网| 国产一区二区三区四区五区入口| 免费裸体美女网站| 亚洲激情在线| 91精品国产毛片武则天| 日韩精品永久网址| 日韩国产美国| 欧美亚洲国产日韩| 成人综合av网| 日本免费一区二区三区视频| 国产精品国产福利国产秒拍| 亚洲精品福利电影| 午夜精品久久17c| 激情av在线播放| 九九久久久久99精品| 日本在线免费| 国产午夜精品全部视频播放| 日韩精品视频无播放器在线看 | 97久久人人超碰caoprom欧美| 国产成人精品一区二区三区视频 | 青青草精品视频在线观看| 一区二区动漫| 玩弄中年熟妇正在播放| 亚洲特色特黄| 欧美狂野激情性xxxx在线观| 欧美激情性爽国产精品17p| 久久免费视频2| 亚洲色图网站| 国产精品啪啪啪视频| 午夜精品电影| 91.com在线| 亚洲精品视频啊美女在线直播| 国产在线xxxx| 亚洲视频精品| 国产一区二区网| 国产精品视频| 国产1区2区在线| 日日夜夜一区二区| 手机在线成人免费视频| 九九视频精品免费| 三级黄色片免费看| 国产成人免费视| 黄色激情在线观看| 91丨九色丨蝌蚪富婆spa| 日本aaa视频| 国产精品日日摸夜夜摸av| 国产馆在线观看| 亚洲视频一二区| 久草免费在线视频观看| 亚洲超碰97人人做人人爱| 日韩毛片一区二区三区| 色成人在线视频| 中文字幕一区2区3区| 日韩亚洲欧美在线| 色偷偷在线观看| 国产一区二区三区在线观看视频| 在线播放日本| 欧美日韩xxx| 亚洲小少妇裸体bbw| 国产精品自拍网| 超碰97久久国产精品牛牛| 老牛影视免费一区二区| 99tv成人| 久久这里只有精品23| 美女日韩在线中文字幕| 狠狠操狠狠干视频| 成人午夜激情影院| 91中文字幕永久在线| 中文字幕日韩欧美一区二区三区| 国产无遮挡aaa片爽爽| 91久久精品国产91性色tv| 国产在成人精品线拍偷自揄拍| 欧美va亚洲va| av在线收看| 欧美黑人国产人伦爽爽爽| 日韩欧美一区二区三区在线观看 | 99精品视频在线播放免费| 亚洲第一级黄色片| 成人在线观看一区| 欧美激情综合色综合啪啪五月| 欧美日韩免费观看视频| 99热在线播放| 日本久久黄色| 国产青青在线视频| 国内成人免费视频| 一本加勒比北条麻妃| 亚洲乱码中文字幕| 国产又黄又猛又粗又爽| 日韩一区二区在线看片| 国产在线视频你懂得| 久久久久久91香蕉国产| 在线免费观看亚洲| 美日韩免费视频| 国产精品国码视频| 免费看涩涩视频| 99久久精品国产毛片| 国产黄色片在线免费观看| 欧美主播一区二区三区| 午夜福利一区二区三区| 美日韩在线视频| www.久久| 欧美日韩亚洲免费| 一区二区自拍| 日本少妇激三级做爰在线| 欧美国产一区二区在线观看| 影音先锋亚洲天堂| 精品久久国产老人久久综合| 国产淫片在线观看| 国产欧美精品xxxx另类| 精品国产欧美日韩| 日本精品www| 99re亚洲国产精品| 国产精品theporn动漫| 日韩午夜精品视频| 高清免费电影在线观看| 国产精品中文字幕在线| 狠狠做深爱婷婷综合一区| 国产黄色一级网站| av在线不卡电影| 欧美日韩综合在线观看| 亚洲国产精品系列| 成人免费高清观看| 国产91免费视频| 亚洲国产清纯| 最近日本中文字幕| 日韩欧美精品网址| 欧美一区二区少妇| 国产97在线播放| 精品国产99| 杨幂毛片午夜性生毛片| 国产欧美一区二区精品性色超碰 | 麻豆视频在线看| 久精品国产欧美| 蜜桃av一区| 免费看黄色三级| 精品视频一区三区九区| a黄色在线观看| 91久久在线视频| 欧美激情一级片一区二区| 亚洲国产精品第一页| 图片区小说区区亚洲影院| 青青久草在线| 国产精品久久久久久久美男 | 国产午夜亚洲精品午夜鲁丝片| 国产污视频网站| 视频直播国产精品| 日韩黄色在线| 男人添女人下部视频免费| 97久久精品人人做人人爽| 老熟妇一区二区三区| 日韩专区在线观看| 日韩中文字幕无砖| 国产美女网站在线观看| 国产亚洲视频系列| 91好色先生tv| 午夜精品福利在线观看| 欧美日韩xxxx| 五月天国产视频| 欧美日韩视频在线| 97视频在线观看网站| 7777奇米亚洲综合久久| 亚洲作爱视频| 精品手机在线视频| 精品国产精品一区二区夜夜嗨| 成人勉费视频| 欧美三级午夜理伦三级老人| 高清不卡在线观看| 中文在线a天堂| 欧美激情高清视频| av一区二区在线播放| 午夜诱惑痒痒网| 色又黄又爽网站www久久| 免费黄网在线观看| 精品毛片久久久久久| 久久黄色级2电影| 日韩精品一区二区三| 久久精品国产99国产精品澳门| 欧美网色网址| 亚洲一区二区三区四区精品| 一本大道久久精品懂色aⅴ| av在线播放国产| 神马影院我不卡午夜| 成人黄色综合网站| 一本到在线视频|