久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Flutter posix庫(kù)鴻蒙化適配:FFI調(diào)用與文件權(quán)限實(shí)戰(zhàn)

Flutter posix庫(kù)鴻蒙化適配:FFI調(diào)用與文件權(quán)限實(shí)戰(zhàn) 最近在把一套 Flutter 工程往鴻蒙真機(jī)上遷移時(shí)我撞上了這樣一幕Dart 代碼編譯全部通過(guò)UI 也能起來(lái)但只要程序一走到某個(gè)調(diào)用posix三方庫(kù)的地方就會(huì)直接拋dlopen failed: library libc.so.6 not found。第一反應(yīng)是依賴沒(méi)拉全后來(lái)才意識(shí)到問(wèn)題出在 FFI 綁定仍然按 Linux 老規(guī)矩找動(dòng)態(tài)庫(kù)而鴻蒙的 C 運(yùn)行庫(kù)根本不叫這個(gè)名字。這篇文章就從這次真實(shí)適配經(jīng)歷出發(fā)把 Flutter 三方庫(kù)posix的鴻蒙化適配拆開講透重點(diǎn)覆蓋底層系統(tǒng)調(diào)用、文件權(quán)限管理以及把這類系統(tǒng)級(jí)能力搬到鴻蒙沙箱里的完整思路。準(zhǔn)備在鴻蒙上做文件管理、終端類或系統(tǒng)級(jí)工具的 Flutter 開發(fā)者建議直接保存這份實(shí)踐記錄。先放下 ArkTS 和 Flutter 誰(shuí)更流行的爭(zhēng)論只要你的 Flutter 代碼要跑在鴻蒙上系統(tǒng)調(diào)用層的適配就躲不掉。posix這個(gè)庫(kù)雖然小但它卡住的恰恰是整個(gè)工程最底層的一環(huán)。下面按我實(shí)際解決問(wèn)題的順序來(lái)寫。1. 為什么 posix 這種“老古董”反而成了鴻蒙化路上的攔路虎1.1 繞不開的 libcposix 包到底在做什么posix是 Flutter 生態(tài)里一個(gè)老牌三方庫(kù)作用很簡(jiǎn)單把 C 標(biāo)準(zhǔn)庫(kù)里的 POSIX 接口通過(guò)dart:ffi暴露給 Dart 代碼。和dart:io提供的文件 API 相比它能讓你直接調(diào)用chmod、chown、stat、access、mkfifo、symlink這類函數(shù)。很多系統(tǒng)級(jí)工具比如終端模擬器、自定義文件管理器、備份工具、包管理器、啟動(dòng)器都會(huì)用到這些能力。它之所以能跨 Android、iOS、Linux、macOS 運(yùn)行是因?yàn)檫@些平臺(tái)都提供標(biāo)準(zhǔn) C 庫(kù)libc并且導(dǎo)出符合 POSIX 規(guī)范的符號(hào)。Dart 側(cè)通過(guò)DynamicLibrary.open(libc.so.6)打開動(dòng)態(tài)庫(kù)再通過(guò)lookupFunction拿到函數(shù)地址。聽起來(lái)很通用所以我一開始也認(rèn)為鴻蒙作為能跑 Flutter 的平臺(tái)應(yīng)該天然兼容?,F(xiàn)實(shí)卻打臉了。鴻蒙應(yīng)用層確實(shí)提供了 POSIX 風(fēng)格的 C 庫(kù)但它的動(dòng)態(tài)庫(kù)命名、符號(hào)行為與桌面 Linux 不完全一樣。posix包早期版本大多寫死libc.so.6這個(gè)路徑在 Ubuntu、CentOS 上沒(méi)問(wèn)題到了鴻蒙直接找不到庫(kù)。這個(gè)錯(cuò)誤用一句話總結(jié)就是你拿著 Linux 的鑰匙去開鴻蒙的門鑰匙插不進(jìn)鎖孔。1.2 鴻蒙上的第一個(gè)岔路口libc 去哪了在鴻蒙設(shè)備上C 運(yùn)行庫(kù)通常以libc.so的形式存在而不是libc.so.6。libc.so.6是 glibc 時(shí)代的命名方式鴻蒙的 C 庫(kù)體系更接近 musl 風(fēng)格版本符號(hào)也跟在 so 名后面。于是你就看到了那串經(jīng)典的報(bào)錯(cuò)。這里有一個(gè)容易忽略的點(diǎn)即使你能把libc.so.6改成libc.so也只解決了動(dòng)態(tài)庫(kù)加載問(wèn)題。真正走到lookupFunction時(shí)部分符號(hào)在鴻蒙 C 庫(kù)里的行為、結(jié)構(gòu)體布局、錯(cuò)誤碼機(jī)制也存在差異。也就是說(shuō)動(dòng)態(tài)庫(kù)名字只是第一道坎后面還有第二道、第三道。我建議你把posix的鴻蒙化適配拆成三個(gè)層次來(lái)看層次問(wèn)題解決方案動(dòng)態(tài)庫(kù)層libc 命名與 Linux 不同通過(guò)DynamicLibrary.open探測(cè)可用庫(kù)名符號(hào)層函數(shù)名存在但結(jié)構(gòu)體布局不同按鴻蒙 Native SDK 頭文件調(diào)整 FFI 綁定語(yǔ)義層權(quán)限、沙箱、進(jìn)程模型有差異根據(jù)鴻蒙權(quán)限模型調(diào)整調(diào)用與錯(cuò)誤處理這三層是遞進(jìn)關(guān)系。我見過(guò)不少項(xiàng)目只改了第一層結(jié)果還是運(yùn)行崩潰所以后面每一層我都會(huì)展開講。1.3 系統(tǒng)調(diào)用的“內(nèi)核兼容層”與 App 沙箱的邊界鴻蒙并不只是一套普通 Linux 內(nèi)核。應(yīng)用運(yùn)行時(shí)系統(tǒng)會(huì)通過(guò)沙箱機(jī)制和權(quán)限管理框架約束你對(duì)文件系統(tǒng)、進(jìn)程和設(shè)備的訪問(wèn)。posix包里的系統(tǒng)調(diào)用名義上還是那些名字但實(shí)際行為要受鴻蒙沙箱策略制約。舉個(gè)例子chmod在 Linux 上修改普通文件的權(quán)限位基本百試百靈。但在鴻蒙的 App 沙箱里你能chmod的通常只有自己應(yīng)用私有目錄下的文件。如果你試圖對(duì)另一個(gè)應(yīng)用的目錄或者/system下的文件執(zhí)行chmod底層可能返回EPERM權(quán)限不允許不是函數(shù)不存在而是系統(tǒng)策略不允許。所以適配posix不能只盯著 FFI 對(duì)錯(cuò)還得理解目標(biāo)平臺(tái)對(duì)文件權(quán)限管理的邊界。這也是標(biāo)題里把“文件權(quán)限管理實(shí)戰(zhàn)”和“系統(tǒng)調(diào)用”并列的原因。接下來(lái)我會(huì)先講怎么讓 FFI 正確指向鴻蒙 libc然后再深入權(quán)限實(shí)驗(yàn)。2. 先把 FFI 彈藥庫(kù)對(duì)準(zhǔn)鴻蒙 libc最小侵入式適配2.1 寫一個(gè)跨平臺(tái)的動(dòng)態(tài)庫(kù)探測(cè)函數(shù)最直接的改造是把寫死的庫(kù)名改成動(dòng)態(tài)探測(cè)。下面這段代碼是我為項(xiàng)目寫的一個(gè)小工具專門用來(lái)找到當(dāng)前環(huán)境可用的 libc 句柄import dart:ffi; DynamicLibrary openLibc() { const candidates [libc.so, libc.so.6, libc.so.0]; for (final name in candidates) { try { return DynamicLibrary.open(name); } on ArgumentError { continue; } } throw StateError(No libc found on this platform); }原理很簡(jiǎn)單逐個(gè)嘗試打開候選動(dòng)態(tài)庫(kù)哪個(gè)能打開就用哪個(gè)。變量名用libc.so.0是為了兼容部分嵌入式 Linux 或 Android 老版本。在鴻蒙真機(jī)上實(shí)測(cè)會(huì)命中l(wèi)ibc.so。這里有一個(gè)相當(dāng)隱蔽的問(wèn)題DynamicLibrary.open如果傳入一個(gè)不存在的庫(kù)名某些實(shí)現(xiàn)會(huì)拋出ArgumentError但有的會(huì)直接導(dǎo)致進(jìn)程異常退出取決于引擎的處理路徑。所以建議在try/catch之外先用獨(dú)立的 Isolate 加載一次確認(rèn)不會(huì)把主 Isolate 打斷。我在鴻蒙上遇到過(guò)一次dlopen失敗直接觸發(fā) Flutter 引擎的 fatal error后來(lái)歸因于沒(méi)有做預(yù)校驗(yàn)。2.2 讓 posix 包從“死綁定”變成“可回退”posix包內(nèi)部所有函數(shù)綁定通常集中在某一個(gè)用于初始化的文件里比如lib.dart。如果你不想維護(hù)一整個(gè) fork可以采用更小的侵入式改法給包增加一個(gè)可注入動(dòng)態(tài)庫(kù)句柄的初始化入口。偽代碼如下DynamicLibrary? _libc; DynamicLibrary posixLibc() { if (_libc ! null) return _libc!; _libc openLibc(); return _libc!; } // 原來(lái)寫死的方式 // final chmod libc.lookupFunctionInt32 Function(Char*, Uint32), int Function(Char*, int)(chmod); // 改成 final chmod posixLibc() .lookupFunctionInt32 Function(Char*, Uint32), int Function(Char*, int)(chmod);這樣posix包不再假設(shè)存在某個(gè)特定 so 文件而是把決定權(quán)交給運(yùn)行時(shí)。它適配的不只是鴻蒙還能兼容不同 Linux 發(fā)行版、Android 老版本以及各種嵌入式環(huán)境。如果你不方便改動(dòng) pub 包源碼還有一種做法在 Dart 層做一層再封裝所有對(duì)posix的調(diào)用都經(jīng)過(guò)自己的適配層。這個(gè)方案維護(hù)成本更低但每次系統(tǒng)調(diào)用都會(huì)多一層 Dart 包裝性能上會(huì)有一點(diǎn)損耗。對(duì)于低頻系統(tǒng)調(diào)用問(wèn)題不大但如果你打算做高頻文件權(quán)限檢查建議還是直接改包。2.3 用 git 依賴鎖住自己的 fork改完包之后pubspec.yaml可以這樣引用你 fork 后的倉(cāng)庫(kù)dependencies: posix: git: url: https://github.com/yourname/posix.git ref: harmonyos-adapt用 git 依賴而不是直接改動(dòng) pub 緩存里的文件最大的好處是團(tuán)隊(duì)協(xié)作時(shí)大家拿到的是同一個(gè)版本。我在適配過(guò)程中反復(fù)改了不少結(jié)構(gòu)體定義如果每個(gè)人各自復(fù)制一份到本地緩存最后會(huì)合出大量沖突。用 git 依賴后每次改動(dòng)都能跟著分支走回滾也方便。還有一個(gè)建議fork 之后不要急著大改先把openLibc和chmod、access兩個(gè)符號(hào)跑通再逐步擴(kuò)大測(cè)試范圍。一次改太多出了問(wèn)題反而不好定位。3. 文件權(quán)限管理實(shí)戰(zhàn)chmod、stat、access 在鴻蒙沙箱里的實(shí)驗(yàn)記錄3.1 八進(jìn)制權(quán)限位速查做權(quán)限實(shí)驗(yàn)之前先把權(quán)限位說(shuō)清楚。0o755表示rwxr-xr-x0o600表示rw-------0o644表示rw-r--r--。在 Dart 里直接寫八進(jìn)制字面量即可。權(quán)限值用戶組其他0o700rwx------0o755rwxr-xr-x0o644rw-r--r--0o600rw-------很多人在 Linux 上習(xí)慣了chmod 755到了鴻蒙會(huì)發(fā)現(xiàn)這個(gè)習(xí)慣不能照搬。原因后面會(huì)詳細(xì)講。3.2 用 FFI 直連 libc 做一個(gè)小實(shí)驗(yàn)為了驗(yàn)證鴻蒙 C 庫(kù)的真實(shí)行為我寫了一個(gè)最小實(shí)驗(yàn)創(chuàng)建文件、寫入內(nèi)容、修改權(quán)限、讀取權(quán)限、檢查可訪問(wèn)性。下面這段代碼不依賴posix包本身的 API而是直接通過(guò) FFI 綁定 libc這樣能排除包內(nèi)舊邏輯的干擾專注看鴻蒙系統(tǒng)層的行為。import dart:ffi; import dart:io; import dart:typed_data; typedef _ChmodNative Int32 Function(PointerUtf8 path, Uint32 mode); typedef _ChmodDart int Function(PointerUtf8 path, int mode); void main() { final libc DynamicLibrary.open(libc.so); final chmod libc.lookupFunction_ChmodNative, _ChmodDart(chmod); final path ${Directory.current.path}/demo.sh; File(path).writeAsStringSync(#!/system/bin/sh\necho hello\n); final cPath path.toNativeUtf8(); final ret chmod(cPath, 0o755); print(chmod return: $ret); cPath.free(); }在鴻蒙真機(jī)上Directory.current.path通常會(huì)被映射到應(yīng)用私有目錄下的某個(gè)路徑。chmod返回 0說(shuō)明系統(tǒng)調(diào)用本身成功。用ls -ln在 hdc shell 里查看文件權(quán)限確實(shí)能看到-rwxr-xr-x。這里要注意stat返回的st_mode里除了權(quán)限位還包含文件類型位。比如普通文件類型是S_IFREG0o100000所以你直接打印st_mode看到的是0100755而不是755。這是正常現(xiàn)象不要看到八進(jìn)制100755就以為權(quán)限設(shè)錯(cuò)了。3.3 為什么“改成 755”在很多場(chǎng)景下依然無(wú)效網(wǎng)絡(luò)搜索熱詞里有一條很典型訪問(wèn)文檔權(quán)限不夠解決辦法是修改文件權(quán)限為 755。這句話在傳統(tǒng) Linux 共享目錄里確實(shí)成立但在鴻蒙上直接套用會(huì)讓你踩坑。鴻蒙的應(yīng)用沙箱有自己的權(quán)限判斷鏈路。chmod修改的是文件 mode 位但訪問(wèn)能否成功還要看文件是否屬于當(dāng)前應(yīng)用的沙箱區(qū)域應(yīng)用是否聲明了對(duì)應(yīng)的訪問(wèn)能力系統(tǒng)是否啟用了更強(qiáng)的 LSM/SELinux 類安全策略路徑是否位于系統(tǒng)限制的只讀分區(qū)。所以當(dāng)你遇到“用戶拒絕訪問(wèn)內(nèi)存文件權(quán)限”時(shí)第一反應(yīng)不應(yīng)該是無(wú)腦chmod 755而應(yīng)該判斷這個(gè)文件在誰(shuí)的目錄下路徑是否真實(shí)可訪問(wèn)應(yīng)用有沒(méi)有獲取相應(yīng)權(quán)限我整理了一個(gè)排查鏈路可以參考用hdc shell進(jìn)入設(shè)備確認(rèn)文件真實(shí)路徑用ls -lZ查看文件權(quán)限和安全上下文確認(rèn)應(yīng)用是否在沙箱允許目錄內(nèi)查看錯(cuò)誤碼。EACCES13表示權(quán)限不足EPERM1表示操作不被允許如果在公共目錄優(yōu)先檢查應(yīng)用的權(quán)限聲明和用戶授權(quán)而不是改文件 mode。3.4 文件權(quán)限管理里“看不見的那只手”安全上下文與沙箱我實(shí)測(cè)下來(lái)鴻蒙沙箱里的文件權(quán)限邏輯其實(shí)比 Linux 更接近 Android 的SELinux模型。文件不僅有一個(gè) mode還有一個(gè)安全上下文。chmod能改 mode但改不了安全上下文。如果應(yīng)用進(jìn)程自身沒(méi)有訪問(wèn)該文件上下文的權(quán)限即使 mode 是0o777系統(tǒng)依然可能拒絕訪問(wèn)。遇到這種情況靠 Dart 代碼是繞不過(guò)去的必須在系統(tǒng)層面授權(quán)。比如通過(guò)打開用戶可見的文件選擇器讓用戶主動(dòng)授權(quán)或者把目標(biāo)文件復(fù)制到應(yīng)用私有目錄后再處理又或者在打包時(shí)申請(qǐng)相應(yīng)的系統(tǒng)權(quán)限。這個(gè)知識(shí)點(diǎn)很重要鴻蒙化的文件權(quán)限管理不只是把 POSIX 系統(tǒng)調(diào)用跑通還要適配系統(tǒng)平臺(tái)的權(quán)限框架。posix庫(kù)只是給你一把“螺絲刀”能不能擰這顆螺絲還得看系統(tǒng)的“施工許可”。4. 適配過(guò)程中真正讓我頭疼的四個(gè)深坑4.1 struct stat 字段錯(cuò)亂一個(gè)吃了大虧的結(jié)構(gòu)體posix包在綁定stat函數(shù)時(shí)內(nèi)部會(huì)從 C 結(jié)構(gòu)體中讀取st_mode、st_size、st_mtime等字段。問(wèn)題在于不同平臺(tái)對(duì)struct stat的字段順序和寬度定義不同。在 Linux x86_64 上struct stat的某個(gè)偏移位置可能存放st_size而到了鴻蒙st_size的位置可能有偏移或者字段類型從long變成了long long。直接復(fù)用原來(lái)綁定你會(huì)拿到一個(gè)莫名其妙的大數(shù)或者錯(cuò)誤的權(quán)限位。解決辦法只有一個(gè)以目標(biāo)平臺(tái)的 Native SDK 頭文件為準(zhǔn)重新定義struct stat的布局。比如class StatStruct extends Struct { Uint64() external int st_dev; Uint64() external int st_ino; Uint32() external int st_mode; Uint64() external int st_nlink; Uint32() external int st_uid; Uint32() external int st_gid; // 按鴻蒙特有布局繼續(xù)定義... }這個(gè)修改必須結(jié)合平臺(tái)頭文件一點(diǎn)點(diǎn)對(duì)不能憑 Linux 記憶硬寫。最好的辦法是拿到鴻蒙設(shè)備上一份真實(shí)的struct stat布局或者從官方 Native SDK 的 sys/stat.h 拷貝。4.2 errno 取不到真實(shí)錯(cuò)誤碼FFI 調(diào)用 C 函數(shù)后如果返回 -1通常錯(cuò)誤細(xì)節(jié)在errno里。早期posix包直接通過(guò)全局變量errno讀取這在某些環(huán)境下是可行的但在多線程 Dart 環(huán)境里可能讀到別的線程的錯(cuò)誤碼。正確的做法是用dart:ffi暴露的C.errno地址或者每次調(diào)用后立即讀取。鴻蒙上錯(cuò)誤碼語(yǔ)義與 POSIX 基本一致常見的有錯(cuò)誤碼含義EACCES (13)權(quán)限不足ENOENT (2)文件不存在EPERM (1)操作不被允許EBADF (9)文件描述符無(wú)效EINVAL (22)參數(shù)無(wú)效我在鴻蒙上調(diào)試時(shí)發(fā)現(xiàn)如果只判斷返回值是否小于 0而不讀errno很可能把“文件不存在”和“權(quán)限不足”混為一談排查效率極低。建議在適配層統(tǒng)一封裝一個(gè)錯(cuò)誤碼讀取函數(shù)把所有posix函數(shù)返回的錯(cuò)誤碼轉(zhuǎn)成 Dart 異常。4.3 沙箱路徑與硬編碼路徑的碰撞鴻蒙的設(shè)備存儲(chǔ)路徑和 Android 以及桌面 Linux 不一樣。應(yīng)用私有路徑通常是/data/storage/el2/base/這種情況具體要看系統(tǒng)版本和用戶分區(qū)策略。如果你在代碼里硬編碼/data/local/tmp或/sdcard/xxx很可能沒(méi)有權(quán)限訪問(wèn)。適配層里應(yīng)該統(tǒng)一通過(guò) Dart 的Directory.systemTemp、Directory.current或者平臺(tái)的路徑接口獲取真實(shí)目錄再把字符串傳給posix函數(shù)。不要假設(shè)/data和/tmp永遠(yuǎn)可寫。這個(gè)坑我是在第一次把chmod用于一個(gè)下載目錄時(shí)踩到的——明明路徑存在卻返回ENOENT后來(lái)才發(fā)現(xiàn)是沙箱映射的路徑和我 Log 里看到的物理路徑不是同一個(gè)。4.4 高頻系統(tǒng)調(diào)用會(huì)卡死 UI isolateposix包里的函數(shù)基本都是同步阻塞調(diào)用。在傳統(tǒng)桌面 Linux 上進(jìn)程內(nèi)做一次stat也就是微秒級(jí)問(wèn)題不大。但在移動(dòng)設(shè)備上如果直接在 UI isolate 里對(duì)一個(gè)目錄下的幾千個(gè)文件執(zhí)行stat、access、chmod依然可能導(dǎo)致頁(yè)面掉幀甚至觸發(fā) Flutter 引擎的卡頓警告。我在鴻蒙真機(jī)上跑過(guò)一次批量權(quán)限修復(fù)功能循環(huán) 3000 個(gè)文件每個(gè)文件先stat再chmodUI 線程卡了接近 3 秒。后來(lái)改成Isolate.run把批量任務(wù)扔進(jìn)后臺(tái) isolate才恢復(fù)正常。代碼大致是這樣final result await Isolate.run(() { var count 0; for (final file in files) { // 調(diào)用 posix stat/chmod 并統(tǒng)計(jì)結(jié)果 count; } return count; });這里要注意Dart 的 isolate 之間不能共享DynamicLibrary句柄的問(wèn)題不大FFI 每次都會(huì)重新查符號(hào)成本很低。真正的成本在于系統(tǒng)調(diào)用本身所以異步化收益非常明顯。5. 回歸驗(yàn)證與后續(xù)擴(kuò)展把適配做成可持續(xù)的能力5.1 建立一份可復(fù)現(xiàn)的真機(jī)回歸清單適配底層庫(kù)最怕“這次能跑下次不知道哪里又炸”。我建議為鴻蒙適配建一份最小回歸清單覆蓋核心函數(shù)函數(shù)場(chǎng)景預(yù)期結(jié)果libc.open打開應(yīng)用私有文件成功fd 有效stat查看文件類型與權(quán)限返回正確 st_modechmod修改應(yīng)用私有文件權(quán)限返回 0權(quán)限位變化access校驗(yàn)文件可讀可執(zhí)行返回 0可執(zhí)行g(shù)etcwd獲取當(dāng)前工作目錄返回沙箱內(nèi)路徑symlink創(chuàng)建應(yīng)用內(nèi)符號(hào)鏈接成功或按沙箱策略攔截每項(xiàng)測(cè)試都記錄返回值和errno固化成自動(dòng)化腳本。不要只在模擬器上跑一定要用真機(jī)因?yàn)樯诚洳呗院臀募燧d在模擬器與真機(jī)上有差異。5.2 把高頻文件操作下沉到 Native 層如果你不只是驗(yàn)證功能而是要做真正性能敏感的系統(tǒng)級(jí)工具那我建議把高頻系統(tǒng)調(diào)用從 Dart 層搬走。方案是用 Flutter 插件機(jī)制寫一個(gè) C/C 的鴻蒙 Native 模塊在 C 側(cè)批量執(zhí)行系統(tǒng)調(diào)用然后通過(guò)一個(gè)粗粒度方法返回結(jié)果給 Dart。舉個(gè)例子批量修復(fù) 1000 個(gè)文件權(quán)限D(zhuǎn)art 循環(huán)調(diào)用 FFI 會(huì)有 2000 次跨語(yǔ)言調(diào)用而 C 側(cè)傳入路徑數(shù)組在一個(gè) for 循環(huán)里完成所有chmod只返回一次結(jié)果性能差距是數(shù)量級(jí)的。這樣posix的鴻蒙化適配更像是給上層業(yè)務(wù)打地基而不是讓 Dart 去扮演系統(tǒng)工具的全部角色。5.3 這套適配還能繼續(xù)長(zhǎng)成什么樣posix跑通之后可以基于它構(gòu)建很多有意思的能力終端模擬器的文件操作層、包管理工具、日志采集器、內(nèi)存文件權(quán)限修復(fù)小工具、自動(dòng)備份腳本。這些都是典型的“系統(tǒng)級(jí)工具專家”場(chǎng)景。鴻蒙生態(tài)目前還在快速補(bǔ)齊三方庫(kù)像posix這樣的小庫(kù)適配后往往能立刻服務(wù)于一批相關(guān)工具鏈。我在實(shí)際適配中還發(fā)現(xiàn)后續(xù)可以把這套動(dòng)態(tài)庫(kù)探測(cè)和結(jié)構(gòu)體修正策略抽成一個(gè)獨(dú)立模塊繼續(xù)服務(wù)ffi相關(guān)的其他庫(kù)比如sqlite3、libgit2的 Dart 綁定。核心思路是一致的不要期待平臺(tái)完全一致直接把差異收斂到適配層。最后分享一個(gè)小技巧每次在鴻蒙上改完 FFI 結(jié)構(gòu)體先用hdc shell單獨(dú)跑一段 C 代碼打印sizeof(struct stat)再和 Dart 側(cè)Struct的sizeOf比對(duì)。如果兩個(gè)值對(duì)不上先不要查業(yè)務(wù)邏輯這一定是結(jié)構(gòu)體布局沒(méi)對(duì)齊。我在這個(gè)細(xì)節(jié)上省下的調(diào)試時(shí)間比整個(gè)適配過(guò)程其他問(wèn)題加起來(lái)都多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91麻豆va国产精品| 天天欧美欧美亚洲网| 色婷婷蜜臀av| 俺去俺来也在线www| 久久精品导航| 白丝jkav| 精品人妻一区二区三区视频| 无码高清少妇久久| 成人精品久久| 嫩草影院在线观看精品| 啊啊啊无码| 久久超碰亚洲人| 免费看黄视频亚洲网站| 久久啊啊| 色欧美在线| 精品小视频在线| 国产AV超爽| 日本阿v天堂在线观看| 在线无码操| 夜夜爽夜夜操| 97操b| 美女黄码视频午夜| 久久久久9999精品九九九| 黄污污污污| 人妻熟女av国产网站| 美女熟妇色| 男女一进一出视频久久| 亚洲久久久| 精品少妇高潮久久| 久久9精品网站| 96免费视频在线| 天天日日舔舔| 九九国产热| 插老姨肥穴| 亚洲综合影片| 97在线青| 亚洲一区操| 九九九九免费| 久久久久久久久久久免费精品| 国产老女人久久毛| {男男暴菊gay无套网站| 中文字幕乱在线伦视频中文字幕乱码在线| 日韩av免费一级电影| 91一区二区三区蜜桃| av网站免费线看| 午夜操逼不卡| 91chinese在线| 综合熟女| 91美女视频电影| 久久久久久久久女黄| 欧美色性情| 91福利网在线观看| 97精品综合久久| 国产一区二区三区中文字幕| 亚洲色图第一页| 天天射天天| 九九aV| 精品久久視頻在线| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 视频一区二区免费在线| 色爱欲亚洲| 国产精品国产拍高清AV| 国产福利电影| 熟妇色99| 欧美精品97| 最新av在线| 久久中文字幕女同性恋一区| 丁香六月婷婷综合| 九月丁香综合网| 成人小说另类在线| 天天干天天燥| 国产亚洲色婷婷久久99精品91 - 百度| 国产熟女精品区| 91丝袜在线观看| 久干网| 性色AV蜜色av色欲av| 黄片免费久久久久久久| 亚91亚洲网| 啊啊在线| 亚洲日韩美女丝袜美腿人妻视频| 农村女一级毛卡片| 92福利社视频| 性色亚洲| 色大香蕉97N| 26uuu国产亚洲综合| 欧美78p| 久久人妻熟女一区二区| 99中出在线| 91这里只有精品| 激激五月| 国产精品亚洲无码| 香蕉视频欧美一卡二卡| 99热久| 欧美成人免费在线观看| 99蜜桃臀久久久欧美精品网站| 日本操逼无码| 欧美精品欧美精品系列 | 国产精品久久久久中文字幕| 日本在线15p| www.99热| 成人八戒网站| 97操| 99视频自拍区| 粉嫩久久久久| 日本有码影片下载| 欧日a| 日韩欧美加勒比| 久超超碰| 美女露胸露屁股| 日韩人妻中文视频| WWW.操逼.COM| 天天日夜干| 风月影院男女十八禁| 丁香五月激情五月| 强奸乱伦大香蕉网| 国产精品区在线12p| 少妇蹲下买菜露大唇0| 天堂岛av| 99爱在线视频| 色欲天天综合网| 97啪啪| 色嗨嗨在线| 9色国产精品一区粉嫩| 青青草在线视频播放器| 在线情色电影 91大 | 国产老熟女| 五月婷婷综合在线| 探花精品视频| 婷婷激情五月| 好吊妞转入那个网| 久久99久久99精品免视看婷婷| 人妻丰满熟妇一区二区三| 超碰99在线| 天堂亚洲精品| 97久操| 男人天堂综合| 99re在线观看| 97欧美精品综合| 一区二区日韩欧美久久| 熟妇熟女亚洲天堂网| 国产精品日韩在线一区| 国产精品无套内谢| www.久久爱| 91操人| 啊啊啊 在线观看| 偷拍 精品 另类 四区| 国产怡红院| 人人色人人射人人妻| 91在线/欧洲| 午夜后入| 国产91福利小视频在线观看| 成人乱人伦一区二区| 黄片免费看黄片免费看| 日韩三级视频一区二区三区| 99国产精品人妻人伦| 国产在线视频午夜精华在| 青娱乐亚洲自拍| 成人26uuu| 丁香五月天激情网站| 亚洲 欧美 另类 日韩 人妻一区| 中文字幕精品一区欧美| 亚洲丨在线| av婷婷色网| 日本一级二级三级网站| 试看60秒 爽| 五月婷婷hd| 色哟哟 日韩精品| 无码操逼天堂| 国产乱码精品久久久久久| 精品人妻伦一二三区久久| 欧美婷婷五月天| 97久久精品亚洲| 日本超碰在线国产一区| 天天天天操| 极品极品色影院| 五月丁香色情| 黄色不卡视频| 超碰综合97在线| 天堂精品一区| 天天综合网~91| 精品福利| 大香蕉www.超碰| 亚洲五码一区二区三区| 韩国一级做A片免费的| 国产亚洲人妻综合日韩 久久| 色婷婷丁香五月| 欧美色图天堂网m| 久草网站免费在线观看| 超碰欧美97| 午夜天堂网| 亚洲最大AV网| 国产精品久久99日日| 一本大道不卡一二三区| 国产精品丝袜久久亚洲不卡| 日本在线不卡123| 中国女人内射6XXXXX| 成人午夜高潮av猛片| 熟妇人妻一区二区三在线| 91大学精品激情戏| 最新啪啪视频| 亚洲熟女性高潮久久久| 日日爱99| 伊人骚琪琪亚洲天堂网站| 传媒免费一区二区三区| 精品综合久久久久久97| 国产无遮挡| 色哟哟av| 色综合1991| 欧美一品道| 在线小说视频一区| 日本性一区| 欧美激情激情xxxx欧美专区| 国产白嫩漂亮KTV在线| 91精品久久综合熟女| 丁香五月影院| 加勒比海成人视频网 | 九月婷婷久久| 国产99精品一区二区三区免费| 久久怡红院| 澳门人妻久久| 国产suv精品一区二区四区999 | 奸色色 男人天堂 天天射| 色吧综合网| 97福利视频| 国产成人无码久久精品| 国产福利在线视频网站| 国产欧美亚洲精品a第2页| 国产原创剧情在线丝袜 | 国语精品av| 色图综合| 国产精品分类在线观看| 国产操操日韩三级黄| 日韩欧美国产高清视频| 五月天成人综合| 嗯啊不要在线| 青青草乱入乱欲视频在线观看| 久草热制服丝袜在线观看 | 无码抄逼网| 成人精品在线观看| 国产精品九9| 欧美色图成人网一区二区 | 五月丁香婷婷综合网| 中文字幕第页| 蜜臀中文字幕| 人妻干天天| 青娱乐久久艹| 亚洲高清内射| 亚洲人妻五月丁香婷婷| 明星性猛交ⅹxxx乱大交| 亚洲天堂欧美| 天天做日日做天天欢。| 在线天堂999| 欧美日韩理论一区| 久久粉色| 久久久麻豆精品| 一区二区首页| 人妻久久| blacked精品一区国产| 日本欧美韩国日产片片在线看免| 熟妇激情| wwwxxx日本爽| 1024亚洲中文字幕久在线看片你懂的| 嗯~啊~快点 死我视频免费看网站| 大香蕉懂9| 人人干黄色| 五月婷婷综合激情| 人人妻天天做天天爽| 免费成人自拍视频在线| 成人在线日韩| 伊人国产AV| 国产中文精品一区二区在线观看| 日日干日日操五月天伦理视频| 亚洲综合色在线| 一级做a爰片性色毛片久久| 日韩一区二区精品视频| 一区超碰一区| 中文字幕,人妻,日韩| 人妻熟女午夜精品在线| 久超碰这里只有精品| 北约熟女超碰| 四季AV一区二区凹凸精品小说| 亚洲Av诱惑| 人人操人人操草草| 蜜臀无码一区二区| 亚洲欧美综合区自拍另类| 女人妻一区| 最新AV在线| 欧美自拍偷拍免费观看| 亚洲资源网| 久久五十路熟女人妻| 国产白领连续中出在线观看| 男人久久天堂| 欧美日韩高潮喷水91| 新91视频.cmp| 人人爽天天爽| 亚洲欧美人妻| 啊啊啊com| 国产精品国产精品国产| 黑丝内射一区二区三区| 26uuu久久| 精品久久久九九九孕妇| 麻豆久久精品亚洲精品88| 2020中文字幕| 极品极品色影院| 67194无码不卡| 天天拍夜夜| 久久人妻丝袜一区二区三| 久久婷婷一区二| 玖玖色综合| 日日躁狠狠躁天天躁精品| 国精精品无码一二三区水多多| 亚洲欧洲第二视频在线观看色图| 精品偷拍13p欧美dodk视频| 伊人色综合欧美| 欧美网站免费| 在线国产探花| 亚洲AV无码国产精品久久久久| 情色五月天久久久| 操逼操逼逼操操逼91| 中文字幕女同在线| 国产 码在线成人网站| 一本色道久久综合精品婷婷| 欧美日韩99精品麻豆传媒| 91丝袜| 超碰人人在线| 日本孕妇一区二区视频操逼免费看 | 夜草欧美| 中日高清无码操逼视频| 欧美不卡二区| AV女资源| 久久999久| 精品久久久亚洲AV成人网站| 亚洲黄片免费在线播放| 一区二区播放| 超碰97网址| 精品国产肉丝袜在线拍国语| AA级电影三区| 青娱乐黄色录像| 国产偷仑| 亚洲日韩肥臀视频在线观看| 青青草天天亲夜夜操网| a片久久久久久久久久久久 | 六月婷婷五月丁香| av在线观看不卡网站| 97亚洲自在精品在线观看| 亚洲中文人妻色| 丁香色色网| 日韩免费在线视频观看| 精品久久久av无码免费| 一区二区三区看视频| 欧美暴力猛交| 宅男午夜在线视频| 五月丁香影院| 无遮挡h肉动漫在线观看| 人人操人人摸人人骑| 涩亚洲欧洲| 美女毛片999| 91亚洲黑人| 国产女性无套 免费观看| 99久国产精品午夜性色福利| 国语对白露脸XXXXXX| 欧美后入式| 超碰这里只有精品| 亚洲日韩青青草色月| 五月天激情网站| 欧亚性爱啪啪| 强奸乱伦麻豆| 岛国黄| 亚洲av无码国产精品字幕| 久久久偷拍| 97在线播放 | 91精品导航| 日韩av电影网站| 欧美日韩青操| 日本免费一区二区不卡 | 国产精品自在线发布| 超碰97亚洲| 亚洲狠狠入| 2017天天透天天通天天擦| 极品少妇99| 国产无遮挡| 天美AV片| 青青草成人视频在线观看二区| 岛国AV一区二区电影| 99re这里只有精品中心播放| 天天欧美色| 午夜天天碰综合视频| 操操AV电影| 欧美成人9797| 麻豆久久久久久久久丝袜| 欧美中文字幕男人天堂久久精品| 欧美九九99久久精品| 无码人妻一区二区一牛影视| 18岁禁 茉莉成人久久| 亚洲高清视频在线观看| 熟妇国产免费一区| 国产一线二线三线av| 女生看匆91网站| 1240青青草一区二区三区视频天爱| 亚洲欧美骚| 91老女人| 国产亚洲精品美女久久久m| 国产三级多多影院2022国产AA一级毛片无码| 国产一区二区在线播放量| 91影库| 操高情无码| 青草av在线| 色色热| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 亚洲综合性网址| 4虎在线视频| 欧美肥臀在线| 色综合一本| 做爱A级亚欧| 久久激情五月| 亚洲情色一区二区三区| 成人九九| 最新国内自拍av免费| 日韩国产乱子伦App| 丁香六月综合激情| 欧美A√综合网| 精品人妻久久久久一区二区三区| 大屁股人妻女教师撅着屁股| 在线观看综合精品亚洲| 亚洲天堂另类小说男人| 在线播放中文字幕| 澳门黄片一香蕉视频| 中文久久爆乳| 校园春色 男人天堂 | 少妇久久久久久| 日韩亚洲欧美中文字幕| 国产毛片久久久久久久| 你操综合| 97美日韩视频| 91一区二区三区蜜桃| 99视频自拍| 日韩中文字幕宗合在线| 婷婷亚洲综合| 欧美另类自拍 | 蜜臀久久精品久久久久视频| 69XX一中文字幕人妻91| 91热爆在线| 蜜臀色乳| 麻豆视频国产一区二区| 色婷五月| 99热在线只有精品| 亚洲精品啪视频| 91麻豆天美传媒HD| 国产女大学生AV| 亚洲欧美日韩综合在线尤物| 一二三四视频在线社区中文字幕| 欧美精品久久96人妻无码| 婷婷丁香成人| 欧美综合色综合| 成人av影院在线观看| 2020视频1区2区3区| 97在线日韩中文字幕| 国产一区在线观看无码AV| 久久国产精品一级二级三级| 亚洲国产成人高清在线| 艳尻美人妻| 综合伊人网12色| 91粉芽高清在线一区二区| 人妻少妇久久| 精品毛片久久久精品毛片| 麻豆精品天美| 制度丝袜99| 双插在线| 台湾成人无码AV| 在线黄色污污网站| 丰满人妻一区二区三区四区| 福利天堂| 欧美黑人精品一区二区| 日本精品一区二区三| 99re公开精品免费视频| 91无摭挡| 日本精品高清一二区一本到| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 天天天天干| 四虎影视 亚洲无码| 嫩草影院在线观看精品| 91老熟女91老女人| 五月色网| 亚洲人妻在线精品| 日韩97视频!在线| 中文字幕无码不卡啪啪| 激情网色| 伊人欧美大香蕉视频| 国产成人网站在线观看| 亚洲欧美色图片| 欧美午夜色妇色鬼| 欧美操逼熟女| 伊人性在线视频| 大香樵伊人网| 视频一区二区三区精品| 公司1区2区3区精产精| 久草视频分类在线| 污色区网站| 1000午夜黄色| 狠狠操狠狠爱| 天天干天天燥| 久久久一区二区三区麻豆| 97舔舔| 日韩黄片影院| 国产精品乱码久久久久久久久| 婷婷五月丁香五月| 国产精品爱欲| 日韩精品午夜操呦呦不卡影院| 精品久久久久久亚洲| 1级黄色夫妻对换性交免费看| 日韩色女精品| 欧美精品在线观看| 亚洲AV无码久久久国产精品| 日本东京热久久久电影| 久久精品女同亚洲女同13| 五月天黄色av| 日本精品不卡一二三区| 99无码狠狠久久| 天天摸天天舔天天操| 色婷婷激情| 日韩精品人妻一| 97超碰色情| 欧美 亚洲 另类 综合| 五月丁香色婷婷| 中国国产精品一区视频| 青娱乐国产剧情av一区| 全国男人天堂网| 天操老女人| 欧美成人9797| 精品人妻一区春色| 青青草密桃在线播放| 在免费jIzzjIzz在线视频| 亚洲视频中文一区| 99999久久精| 国内成人圈中文字幕无码视频| 东北黄色电影| 天天影视综合色| 国产9l 大屁股| 亚洲天堂第一页| 亚洲激情网一二三四区| 久久6热视频免费观看| 无码一区免费在线不卡| 亚洲风情在线观看| 亚洲成成熟女人综合一区二区| 欧美少妇高潮久久91| 久久色激情一区二区三区| 亚洲无码色| 韩国三级理论在线| 人人爱人人操人人性| 日韩操逼性鲍| 国内偷自视频区视频综合 | 亚洲国产综合图区中文字幕 | 欧美与日韩97| 中文字幕av色| 操逼大黄片| 99热在线播放| 中文乱码字幕观看| 射综合网| 亚洲国产精品成人久久蜜臀| 精品人妻视频一区二区三区蜜桃视频| 99在线观看| 成人片在线播放| 亚洲精品成人激情在线| 96免费视频在线| 91精品国产高清久久久久久,亚洲成人 | 97在线青| 久操av在线| 中文字幕午夜精品久久久| 男人的天堂日本东京热| 亚洲日韩欧美一区二区| 国产精品乱码久久久、久久| 大香蕉日亚洲日本亚大 | 亚洲色图亚洲无码强奸乱伦| 人妻99p| 青青草天天亲夜夜操网| 午夜人妻精品综合在线| 内射日韩大臀美女| 日韩精品作爱导航| 亚州五月| 美女诱惑一区| 欧美一级黄片视频在线| 97任你吞精| 开心激情婷婷| 2019AV天堂| 啊嗯嗯啊好大好爽| 丰满人妻-区二区三区免费看 | 亚洲AV无码天美传媒一区| 日日日啊啊啊| 怡红院视频在线| 久久中文字幕一区不卡| 日本天天操| 欧美丝袜美女电影一二三四区| 免费观看国产小粉嫩喷水精品午| 尤物av网站| 操逼国产免费| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲熟女av中文字幕| 日本三级韩国三级99| 亚洲色图欧美一区二区不卡| 91麻豆天美国产欧美日| 日韩在线地址一| 伊人在线大香蕉视频久久| 日产狠狠干| 盗摄女人妻在线| 嗯嗯啊好爽| 我中文字幕6区| 亚洲天堂东京热| 麻豆人妻少妇在线免费观看| 久久男人| 综合91网| 91久久堂| 欧亚韩国999| 国产有码一区| 色老汉色| 欧美熟女激情| 美女的肌被草喷水视频| 嫩草 人人网精品| 欧美99热| 国产熟女一区二区| 第一高清av中文字幕| 精品v1区| 亚洲欧洲自拍| 久久婷色| 欧美日韩一二三| 热久久国产| 性爱av网站| 超碰99热中文字幕| 婷婷五月天成人网| 10000部十八禁看电影| 囯产操逼片| 18一区二区三区| 国产后入式在线观看| 不卡av在线中文字幕| 亚洲男人天堂网站| 九九热精品视频六| 国产又粗又长的视频| 青女偷拍网| 中文字幕人妻丝袜乱一区三区| 久久天堂网| 日韩超碰97| 黄色大片视频在线免费看| 久久久久久久久久9| 日本操逼视频免费| 在线无码视频| 亚洲天堂7777| 91校园春色长篇| 秋霞男人网| 色网综合网| 亚洲无码一区成人免费午夜| 高清孕妇孕交 交| J?P?NESEHD熟女熟妇伦| 国产乱码精品一区二区三区四川| 免费中文在线| 伊人五月天青青草婷婷| 啊啊啊啊好大好硬啊啊啊啊啊 | 东京热毛片调教| 啊啊啊啊操死我| 国产成年女人免费视频播放a| 蜜臀操逼黄色视频操的好爽| 久久午夜伦| 97国产伦理| 91啪啪| 国产树林里野战在线看| 婷婷伊人一区| 久久久一二三四区| 欧美亚洲一级在线观看| 五月丁香激情啪啪| 亚洲熟久久| 国产探花日韩援交| 欧美久久九九| 丝袜足交视频| 国产情侣自拍在线播放| 国产丰满熟夫69mpp| 东京热毛片177b2viP| 精品一区二区亚洲国产| 天美传媒AV国产在线| 亚洲综合影院| 混色激情av| 国产精品操| 操人妻少妇中文| 中文字幕乱码在线| 国产无码成人无码| 精品然女一区二区| 少妇专区一二三四五| 精品人妻一二三四区视频| 久久一二三四五六七八九区区| 9 7超碰在线免费观看| 日韩二三区| 思思热在线cao| 日日噜噜夜夜久久亚洲一区二区| 精品无码久久久久久国产浪潮| 天天操天天谢| 国产91美女高潮| 乱伦熟妇一区二区| 啊啊啊啊好疼视频| 熟女精品va中文字幕| 67914亚洲精品| 久久久久亚洲?V片无码V| 97超碰久| 国产农村妇女精品| 揉揉揉夜夜| 都市激情人妻一区二区青青操视频 | se吧提供91精品国产91久久久久久| 欧美传媒一区| 亚洲日韩美女丝袜美腿人妻视频| 欧美一区二区三区黄色影视| 操操逼视频| 国产精品电影| 色哟哟av| 色色五月天婷婷| 91精品老女人| 91蜜臀熟女| 亚洲高清视频在线免费观看| 在线 制服丝袜中出 人妻| 色九久| 91男女啊啊啊| 日逼视频日本| 色偷偷综合91久久噜噜| wwwss在线观看| 麻豆天美传媒毛片| 亚洲老司机123专区| 97国产高清视频在线观看| 九九久久国产精品怡红院| 盗摄女人妻在线| 91热热色| 欧美中文字幕男人天堂久久精品| 中国AAAAAA黄色片| 91黑丝操| 色女综合| 人妻系列无码专区中文有码| 少妇熟女视频一区二区三区| 午夜天堂精品久久久久91| 亚洲熟妇一,二,三期| 美女网站黄页| 中文字幕人妻色偷偷久久皮| 亚洲强奸乱伦影视网| 亚洲在线a| 看看日B真人视频| 婷婷丁香六月天| 国产精品极品美女视频| 搡老女人老熟女91| 久久久夜夜夜| 91五十路| J?P?NESEHD熟女熟妇伦| 国产精品另类一区大香蕉| 在线观看视频91| 99热精品青草在线 | 国产精品在线免费| 青青草色情网站视频| 91狠| 曰韩欧美国产传媒麻豆第一区| 色青青久久影视| 国产高清在线观看欧美| 99久久精品无码一区二区| 蜜乳AV.COM| 中文字幕精品一区二| 91操熟女| 三级精品三级在线观看| 欧美v日韩v亚洲v最新在线| 亚洲在线| 久久精品国产亚洲AV高级北京| 在线A日本| 精品性爱一二三区| 狠狠操狠狠爱| 欧美第38页| 91女优在线观看| 亚洲好色人妻| 大香蕉综合网| 中文字幕乱码人妻二区三区| 日本不卡高清视频| 色色操| 成年男人的天堂| 成人在线永久| 激情文学亚洲| 国产精品在线一区二区| 亚洲精品97| 日韩精品永久在线观看| 亚洲欧美九九九| 欧美色图亚洲色| 麻豆这里只有精品| 欧洲射精91| 日本道人妻久久久在线不卡色视频| 亚洲 中文 欧美 日韩 在线| 不卡在线观看视频| www九九热| 亚洲91av| 茄子社区国产精品| 国产自制av蜜乳| 色婷婷色99国产综合精品| 伊人大香蕉在线| 久久久91福利姬| 国产一级内射无挡观看| 桃花色涩综合影院| 丰满人妻一区| 综合亚洲欧美精品日韩?v| 天堂8在线新版官网| 亚州成人A√| 啊啊啊操死我| 五月丁香色婷婷| 鸥美极品| 亚洲字幕一区二区| 99国产精品自在自在| 免费1级a做爰片观看| JULIA人妻风俗店中出电影| 91N综合网| 国产亚洲色婷婷久久99精品91| 日本熟妇色熟妇在线视频播放| 2017人人操,人人摸| 欧美乱妇狂野欧美在线视频| 日韩强奸av| 美性中文综合网| 74成人在线| 97超碰久| 日韩一级片| 欧美亚洲图片| 久久天天躁日日躁狠狠躁 | 欧美91网| 亚洲 欧美 中文 日韩超碰| 淫荡网址| 美腿丝袜高跟网免费视频免费视频| 92性色国产午夜福利在线661| 久久综合女优| 中国探花熟女| 国产在线视频午夜精华在 | 中国黑人三级片网站上区| 人人看人人爰人人操| 亚洲中文字幕久久无码精品| 五月天综合| 日日插夜夜| 97在线/亚洲| 欧美色图亚洲色图成人在在线| 激情综合网激情综合| 熟女熟妇伦久久影院毛片一区二区 | 九九九九九精品| 一本大道久| 亚洲自拍青操视频| 亚洲综合九| 又摸又舔在线观看网站| 五月丁香六月婷综合成人综合| 国产日韩久久| 色制服丝袜夫妻av一区| 色香色欲天天综合网天天来吧| 91熟女丨老女人| 狠色婷婷久久一区二区三区_| 婷婷久草一区二区三区| 伊人久久艹| 国产精品激情久久久久久久| 日韩免费高清大片在线| 国产乱子伦一区二区三区在线观看| 91熟女.com| 四虎884a| 粉嫩AV一区夜夜嗨| 欧美天天综合站| 97在线欧洲| 91欧美成人色站| 久久精品视频28| 久久免费看高潮毛片韩国| 国产精品久久久蜜臀| 久久久久国产亚洲一区欧美色图日韩| 97色碰| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 91 丝袜在线| 殴美性色a级欧美| 欧洲天天在线| 国产91精品久久久久久久网曝门| 欧州色图区| 男人把坤坤插入女人的下体| 国产精品网站www| 亚洲成人色情五月天丁香花| 精品人妻一区二区三区夜夜| 超碰这里有精品| 99999久久精| 久久欲| 99热只有这里有精品| 色综合色色| 国产午夜视频| 99re这里只有精品2| 精品1区2区3区| 内射老妇BBWX0C0CK| 高潮的A片激情扒开一区| 成人免费不卡在线视频| 99免费在线视频| 美女毛片999| 亚洲中文字幕av| 国产肏逼网站| 五月天啪啪| 精品九九九九九九九| 日韩精品一区二区人人人| 精品久久久av无码免费| 激情五月综合| 日日嗨AV一区二区夜夜| 日本东京热久久久电影| 在线观看黄色电话| 欧美三级一级| 快播久久人人aV| 97在线视频观看网站| 激情一区二区三区在线观看| 91老熟女91老女人| 美国精品国产精品| 99久久这里只有精品| 熟妇一区,二区,三区。| 综合五月婷婷| 情色五月天久久久| 综合另类| 97色欧州| 1禁看欧美黄片免费看| 97精品97久久| 桃花色涩综合影院| 亚洲91在线| 国产精品欧美激在线| 天天色黄色影院天天操| 欧美在线综合| 欧美性天天影视| 久久久久亚洲av综合波多野制衣| 欧洲精品欧洲精品| 亚洲九九夜夜| 91人精品妻入口| 欧美亚洲清纯| 天天干天天日天天射黄色大片| 蜜乳av一区二区| 91 综合网| 亚洲国产丝袜在线观看| 狠狠干综合| 国产欧美成人第一页在线观看 | 欧美玖玖爱免费玖玖| 九九热视频在线观看| 尤物视频一区| 97在线观| 好爽要喷了| av麻豆啪啪| 啊啊啊啊嗯嗯嗯用力好爽| 欧美大香蕉同搞| 欧美色www亚洲国产阿娇要播| 日韩综合97P| 大香蕉国产中文自拍| 黄页18禁| 开心激情婷婷| 国产尹人在线视频免费| 国产一区二区a毛片| 狠狠操,使劲操| 91天天综合日韩欧美| 殴美色网| 欧美久久人体| 国产女主播视频在线观看| 99色日| 大香蕉在线免| 色九九九九| 亚洲精品一区二区免费在线观看| 久久久久精| 日本久操视频| 蜜桃传媒一区二区亚洲| 蜜臀av中字字幕网站| 丝袜内射| 欧美大片一区二区三区| 91少妇香蕉久久精品| 歐美性天天| 欧美色图自拍| AV女资源| 欧美不卡五十路| 两女互慰AV高潮喷水在线观看| 国产精品一区av在线| 国产传媒操逼视频| 乱伦系列一区二区| 五月综合久久| 嗯嗯啊啊视频一区二区三区| 9久久美女首页| 加勒比久久av| 天美传媒婬乱| 国产精品成人福利在线| 五月天伊人| 亚洲91色| 少妇激情一区二区三区视频| 婷婷久久网| 伊人久久大香蕉线AV五月天| 成人AV素股で擦久久| 国产67194| 欧美日韩亚洲五月天婷婷| 亚洲精品三| 久久侵犯人妻爽爽爽| 亚射在线| 亚洲亚洲亚洲天堂天堂| 欧美劲爆第一页| 级做a爱无码性色永久免费| 秋霞久久亚洲精品成人| 亚洲激情在线| 国产视频一区二区三区久久亚洲天堂| 国产视频第2页| 97超级久久| 日韩性爱免费观看视频| 国产精品亚洲免费| 中文字幕在线观看AV| 天天躁夜夜躁狠狠躁AV| 国产一级内射高清视频| 日本激情免费大片| 国产av白丝| 久久成人精品| 中文字幕高清精品一区| 五月丁香婷婷色| 国产不卡中文字幕免费avi| 992视频一区| 亚洲精品性爱片| 亚洲18禁| 男女啊啊啊| 综合欧美激情网| 日韩美女久久一区二区三区| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 综合操逼| 亚洲最大黄网| 蜜臀久久99精品久久久久久成人小说| 人妻中文字幕精品无码| 欧美性猛交美女自慰91| 久久久神马影院| 人人操人人摸人人看人人插| 美女刺激久久国产欧美| 99精品无码| h无码动漫在线观看| 日本日日色视频| 亚洲国产综合图区中文字幕 | 国产精品粉嫩福利在线| 亚洲黄色视频在线观看视频| 三级三级三级日本99| 加勒比性爱成人在线| 三级AV入口| 久久嫩草国产成人一区| 五月天伊人网| 全球成人中文在线| 国产精品丝袜久久亚洲不卡| 欧美岛国精品在线观看| 91亚洲黑人| 97爱亚洲| 欧美另类色图片| 亚洲欧美黄| 91视频国品一二三区| 夜夜欧美| 九九在线视频| 色区97| 国产激情视频在线观看| 精品二区三四区五电影| 性爱乱伦一区| 欧美亚洲韩国视频十五区 | 中文字幕乱碼在线| 欧美AAAA黄片| 动漫片子网站3黄| 97超碰磁| 秋霞午夜视频一区二区| Sekablack无码一区| 大香蕉在线视频15| 99热这里只有精品18| 五月丁香成人网| 天堂综合网| 亚州情色j区| 国产一区二区二区按摩精品啪视频| 能看的av| 99re9| 亚洲第一页欧美| 自拍偷拍草一草| 久久同城AV| 最新日产中文在线麻豆| 青青草一本道福利视频| 五月激情天| 97国产精品视频| av大香蕉网站| 国产欧美成人第一页在线观看| 欧美色图91p| 成人国产精品三级A片| 久久久91| 好看的91视频| 亚洲精品第一| 偷拍视频青青草在线视频| 久九干| A V视频日本| 蜜臀久久99精品久久久久电影| 欧美性爱五月天| 日本成熟少妇A∨网站| 日韩美女,国产传媒,视频一区| 亚洲成人一区二区精品| 视频二区美腿制服人妻欧美| 日韩99神马视频播放片在线播放| 一区二区精品日韩欧美在线观看 | 香蕉人人操tv| 97超碰欧美精品| 青青草手机在线免费观看| 久久免费精品视频免一| 精品人妻一区二区三区四区不卡在| 亚州成人A√| 99热在线观看| 欧美组图日韩亚洲中文字幕| 黑人精品久久97| 6080yy午夜理论三级一区二区三区无码 | 欧美精品自慰系列寂寞少妇 | 欧美大香蕉97| 超碰在线成人| 国产精品视频91久久| 偷拍99| 又摸又舔在线观看网站| 日本色色色| 国产中文大片资源中文字幕| 久久精品电影在线| 色天堂综合| 色爱综合网| 色色色天美视频| 亚洲最新Av| 中国91AV| 青青草久草AV| 情色五月天久久久| 久久乐| 岛国精品视频在线观看| 老外又粗又长一晚做五次| 欧美欧美少妇| 天美传媒av一区二区| 国产精品制服丝袜中文字幕日韩一区二区三区| 欧美午夜视频精品久久| 日韩字幕一区| 久久专区| 精品无av| 操老熟女AV| 欧美另类自拍 | 91欧美www| 99久久9| 亚熟hd视频在线| 少妇国产不卡| 欧美久久九九| 99综合网| 韩国一级婬片A片AAAAA| 日韩亚洲中文有码视频| 爱妃国产亚洲视频中文字幕| 精品亚洲天堂| 可乐操亚洲蜜911| 日韩欧美中文字亚洲慕| 亚州 综合 色图| 亚洲免费97免费| 伊人色综合超碰| 日本天天人人狠狠在线日美女| 色五月网址| 免费AV播放| 婷婷久久五月| 日韩精品中文字幕二区| 久久久久国产精品喷潮免费观看臀 | 3P乱轮视频| 黄片com.| 无码国产精品久久久久| 午夜福利精品| 人人操人人操草草| 多乙久久久久久| 操逼逼无码| 国产成人精品日本亚洲语言| 亚卅熟女乱色| 婷婷五月av| 夜夜中出国产| 人人喜人人妻| 男人下部插入女人下部| 一牛影视久久久一区二区三区| 啊a一区在线| 欧美成人亚洲精品| 97自拍一区| 久久久久9| 舔人妻中文免费视频| 97精品网| 97青娱乐超碰久久| oumeizonghese,www|