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

ARTICLE DETAIL

資訊詳情

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

開源鴻蒙從源碼到固件:小熊派nano編譯環(huán)境搭建全攻略

開源鴻蒙從源碼到固件:小熊派nano編譯環(huán)境搭建全攻略 做開源鴻蒙開發(fā)繞不開的第一道門檻就是環(huán)境搭建。我拿小熊派nano這塊板子從頭到尾跑了一遍獲取源碼、編譯源碼的完整流程中間踩了不少坑最后整理出一套能直接照著抄的步驟。這篇文章不是貼一堆命令就完事的我會(huì)把每一步背后的原因、可能出的問題、排查方法都講清楚適合第一次接觸開源鴻蒙編譯環(huán)境的新手也適合編譯時(shí)遇到莫名其妙報(bào)錯(cuò)想快速定位的人。1. 開工之前先把環(huán)境和路線想清楚1.1 小熊派nano是塊什么板子小熊派nanoBearPi-Nano是一塊以 Hi3861V100 芯片為核心的物聯(lián)網(wǎng)開發(fā)板主打低成本和低門檻。它的定位非常明確不追求高性能而是讓開發(fā)者以很小的代價(jià)跑通一個(gè)真實(shí)的物聯(lián)網(wǎng)設(shè)備。板子上帶了 LED、按鍵、無源蜂鳴器接口、OLED 排座等常用外設(shè)配合 Type-C 供電拿來做傳感器數(shù)據(jù)采集、家居開關(guān)這種輕量級(jí)應(yīng)用非常順手。在開源鴻蒙生態(tài)里小熊派nano屬于輕量系統(tǒng)設(shè)備跑的是 LiteOS-M 內(nèi)核資源和標(biāo)準(zhǔn)系統(tǒng)完全不同。這意味著編譯方式、產(chǎn)物格式、燒錄方法都和手機(jī)/平板那種大系統(tǒng)有差異但在入門階段反而能讓你看清楚“源碼到固件”的完整鏈路?,F(xiàn)在網(wǎng)上大部分開源鴻蒙入門教程都拿它做示例說明這塊板子的適配代碼是相對(duì)成熟、可復(fù)現(xiàn)的。選擇開發(fā)板一定要清醒小熊派nano不是拿來看炫酷 UI 的它是用來理解系統(tǒng)級(jí)別的編譯、移植、驅(qū)動(dòng)、燒錄這些底層流程的。目標(biāo)如果是深入嵌入式應(yīng)用開發(fā)用它是非常合適的第一步。1.2 環(huán)境搭建的三條主流路線怎么選開源鴻蒙官方文檔大多以 Ubuntu 作為開發(fā)環(huán)境但開發(fā)者的實(shí)際宿主系統(tǒng)通常是 Windows。這里就有三條常見路線虛擬機(jī)、WSL、雙系統(tǒng)還有一條輔助路線 Docker。路線優(yōu)點(diǎn)缺點(diǎn)推薦度虛擬機(jī) Ubuntu與官方文檔一致、快照回滾方便、USB/串口透?jìng)鞒墒煺加觅Y源、磁盤性能打折扣最推薦WSL2啟動(dòng)快、和 Windows 文件互操作方便早期版本 I/O 慢、USB 串口透?jìng)髋渲脧?fù)雜可以但要折騰雙系統(tǒng) Linux性能最強(qiáng)、沒有虛擬化層干擾安裝分區(qū)有風(fēng)險(xiǎn)、切換系統(tǒng)麻煩進(jìn)階用Docker 容器純凈、可復(fù)現(xiàn)、適合 CI設(shè)備調(diào)試和燒錄不方便不推薦入門我自己的選擇是虛擬機(jī) Ubuntu 20.04。理由很實(shí)際官方文檔很多是拿這個(gè)環(huán)境做驗(yàn)證的你照著命令操作出錯(cuò)的概率最小。虛擬機(jī)快照功能特別適合環(huán)境搭建這種操作——每次做完一個(gè)關(guān)鍵節(jié)點(diǎn)就存一個(gè)快照后面搞崩了直接回滾不用重新下載幾十 GB 源碼。硬件配置上建議至少 4 核 CPU、8GB 內(nèi)存、60GB 可用磁盤。如果機(jī)器只有 4GB 內(nèi)存編譯時(shí)大概率會(huì)被 OOM 干掉后面我會(huì)講到用 swap 緩解的方案。1.3 我推薦的目錄規(guī)劃與系統(tǒng)版本系統(tǒng)方面我建議直接上 Ubuntu 20.04 LTS 64 位。雖然 22.04 也能跑但從實(shí)際踩坑經(jīng)歷看22.04 上會(huì)遇到更多“版本太新導(dǎo)致庫(kù)不兼容”的問題比如 libncurses5 裝不上、python3 版本過高引發(fā)工具鏈行為差異。20.04 是老牌穩(wěn)定環(huán)境等流程完全跑通之后再遷移到新版本也不遲。源碼目錄建議統(tǒng)一放在用戶主目錄下的~/openharmony不要放在/root不要放在中文路徑也不要放在 NTFS/FAT 這類跨文件系統(tǒng)掛載點(diǎn)。原因很簡(jiǎn)單后續(xù)編譯工具鏈會(huì)創(chuàng)建大量符號(hào)鏈接和中間文件跨文件系統(tǒng)經(jīng)常出現(xiàn) ln 失敗或權(quán)限錯(cuò)亂root 用戶生成的產(chǎn)物會(huì)讓普通用戶無法清理中文路徑則可能讓某些腳本崩潰。另外強(qiáng)烈建議完成基礎(chǔ)環(huán)境和源碼同步后立即給虛擬機(jī)做一次快照。源碼這個(gè)東西重新下載的時(shí)間成本極高快照一次等于給自己買了保險(xiǎn)。后面就算你把 hb 配置或 vendor 目錄改壞了回滾到快照也就幾分鐘的事。2. 基礎(chǔ)環(huán)境準(zhǔn)備把 Ubuntu 調(diào)教到能干活的狀態(tài)2.1 安裝基礎(chǔ)軟件包新裝的 Ubuntu 缺的東西很多先把編譯相關(guān)的依賴一次性裝齊sudo apt update sudo apt upgrade -y sudo apt install -y git curl wget unzip tar sudo apt install -y python3 python3-pip sudo apt install -y build-essential gcc g make sudo apt install -y libncurses5-dev zlib1g-dev flex bison libssl-dev sudo apt install -y gcc-multilib g-multilib這些包各司其職git是源碼同步的基礎(chǔ)curl/wget用來下載 repo 腳本和工具build-essential提供了最基礎(chǔ)的 C/C 編譯環(huán)境libncurses5-dev供內(nèi)核/系統(tǒng)層配置菜單使用flex和bison是詞法語(yǔ)法分析器很多編譯工具鏈生成代碼時(shí)會(huì)用到multilib系列提供 32 位兼容庫(kù)交叉編譯流程里調(diào)用 32 位宿主工具時(shí)離不開它。這里有個(gè)版本坑Ubuntu 22.04 之后默認(rèn)軟件源里已經(jīng)沒有l(wèi)ibncurses5-dev只提供libncurses-dev。遇到Unable to locate package libncurses5-dev時(shí)直接用libncurses-dev替代即可大部分場(chǎng)景下不影響。如果還缺個(gè)別依賴報(bào)錯(cuò)信息會(huì)明確提示用sudo apt install補(bǔ)上就行不用怕依賴問題缺哪個(gè)補(bǔ)哪個(gè)。2.2 配置 Python 和 Git開源鴻蒙的編譯腳本和 repo 工具都是 Python 寫的所以 Python 環(huán)境必須可靠。檢查當(dāng)前版本python3 --version建議 3.8 以上。20.04 自帶的是 Python 3.8符合要求。接下來升級(jí) pippython3 -m pip install --upgrade pip setuptools如果提示pip模塊不存在先執(zhí)行sudo apt install -y python3-pip。Git 配置是很多新手會(huì)漏掉的一步。repo 在操作一些 git 子命令時(shí)需要讀取用戶名和郵箱不配置的話同步源碼時(shí)會(huì)出現(xiàn)報(bào)錯(cuò)或卡住。提前做好git config --global user.name yourname git config --global user.email youexample.com用戶名郵箱隨便填只要格式合法即可不一定非得是真實(shí)信息。另外如果后續(xù)同步包含大文件倉(cāng)庫(kù)還需要安裝 git-lfssudo apt install -y git-lfs git lfs install某些固件、圖片、預(yù)編譯庫(kù)會(huì)以 LFS 方式存儲(chǔ)沒裝這個(gè)同步出來的文件會(huì)是一個(gè)幾百字節(jié)的指針文件而不是真正的二進(jìn)制內(nèi)容編譯時(shí)就會(huì)出現(xiàn)莫名其妙的“文件格式無法識(shí)別”錯(cuò)誤。2.3 安裝并驗(yàn)證 repo 工具repo 不是某個(gè)開源鴻蒙特有的工具它是業(yè)界常用的一套多倉(cāng)庫(kù)管理腳本用 manifest 文件把成百上千個(gè) Git 倉(cāng)庫(kù)組織到一起。開源鴻蒙源碼倉(cāng)庫(kù)數(shù)量非常多手動(dòng)逐個(gè) clone 不現(xiàn)實(shí)必須通過 repo 一鍵同步。安裝方式我推薦直接下載 Gitee 碼云上的 repo 腳本到用戶目錄mkdir -p ~/bin curl -s https://gitee.com/openharmony/misc/raw/master/tools/repo ~/bin/repo chmod ax ~/bin/repo echo export PATH$HOME/bin:$PATH ~/.bashrc source ~/.bashrc驗(yàn)證是否裝好repo version如果輸出類似repo version v2.32后面的信息說明可以用了。如果提示No such file or directory先檢查~/bin/repo文件是否存在再檢查第一行解釋器是python還是python3。這個(gè)問題我在下一節(jié)詳細(xì)說。另外不建議用發(fā)行版自帶的 repoapt install repo版本通常比較舊對(duì)源碼的 manifest 格式兼容性差我見過很多舊版 repo 在同步時(shí)直接報(bào)Unsupported manifest format。2.4 一個(gè)特別容易踩的坑python 和 python3 混用這個(gè)坑幾乎所有人都躲不過。你打開~/bin/repo看一眼腳本第一行很可能是#!/usr/bin/env python但 Ubuntu 20.04/22.04 默認(rèn)只安裝了python3沒有/usr/bin/python這個(gè)文件。執(zhí)行repo時(shí)系統(tǒng)解釋器找不到就會(huì)報(bào)No such file or directory或者更詭異的SyntaxError。解決辦法就是把系統(tǒng)缺的python軟鏈到python3sudo apt install -y python-is-python3裝完之后驗(yàn)證python --version能正常輸出版本號(hào)就沒問題了。這個(gè)軟鏈接不僅影響 repo源碼里很多子腳本、編譯工具也會(huì)用到python命令所以提前處理好能省掉后續(xù)一大半 Python 相關(guān)的幺蛾子。如果安裝后仍報(bào)缺什么 Python 模塊先看報(bào)錯(cuò)里的模塊名一般就是requests、setuptools之類的用 pip 裝上即可python3 -m pip install requests setuptools3. 獲取源碼repo init repo sync 的完整流程3.1 版本分支怎么選獲取源碼之前必須先決定用哪個(gè)分支。開源鴻蒙的倉(cāng)庫(kù)用分支和 tag 管理版本常見的有這么幾類master 主線代碼最新功能推進(jìn)快但變動(dòng)也快今天能編的代碼下周可能因?yàn)槟硞€(gè)倉(cāng)的改動(dòng)就編不了。OpenHarmony-3.0-LTS長(zhǎng)期支持版本資源適配較全教程資料最豐富是小熊派nano入門的首選。OpenHarmony-3.1-Release/4.0-Release 等功能更多但板級(jí)適配需要自己確認(rèn)部分流程和 3.0 有差異。我強(qiáng)烈建議新手先鎖死 3.0-LTS。小熊派nano的官方適配代碼在這個(gè)分支上是完整的網(wǎng)上絕大多數(shù)教程也基于它遇到問題能對(duì)照參考。用 master 或 4.x 也不是不行但那是已經(jīng)有經(jīng)驗(yàn)、能自己排查時(shí)才做的事。版本選擇直接決定后面的編譯命令和產(chǎn)物內(nèi)容一步選錯(cuò)就多浪費(fèi)好幾個(gè)小時(shí)。分支選擇可以參考這個(gè)表分支適合人群穩(wěn)定程度小熊派nano適配master想追新特性、做社區(qū)貢獻(xiàn)低需確認(rèn)OpenHarmony-3.0-LTS新手入門、復(fù)現(xiàn)教程高官方完整OpenHarmony-4.0-Release想體驗(yàn)新 API中需手動(dòng)確認(rèn)3.2 初始化倉(cāng)庫(kù)與同步代碼確定分支之后開始正式拉取源碼。先建目錄并進(jìn)入mkdir -p ~/openharmony cd ~/openharmony repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony-3.0-LTS這個(gè)過程很快它不下載源碼本體只是從 manifest 倉(cāng)庫(kù)讀取一份配置文件——這份文件告訴 repo項(xiàng)目有哪些子倉(cāng)庫(kù)、每個(gè)倉(cāng)庫(kù)的路徑、遠(yuǎn)程地址、當(dāng)前該 checkout 哪個(gè) commit。執(zhí)行成功后目錄下會(huì)出現(xiàn).repo隱藏目錄里面是后續(xù)同步的元數(shù)據(jù)和 remote 配置這個(gè)目錄不能刪也不要去手工改動(dòng)它。真正的下載動(dòng)作是repo syncrepo sync -c -j4-c表示只同步當(dāng)前分支的代碼大幅減少數(shù)據(jù)量-j4表示并發(fā) 4 個(gè)倉(cāng)庫(kù)同時(shí)拉取。初次下載用時(shí)取決于網(wǎng)絡(luò)環(huán)境正常在十幾分鐘到一小時(shí)之間。如果家里網(wǎng)絡(luò)不好可以降到-j2慢一點(diǎn)但失敗率明顯下降。同步中途斷網(wǎng)也是常事不用慌再次執(zhí)行同一條命令repo 會(huì)接著上次的進(jìn)度繼續(xù)下載而不是從零開始。如果發(fā)現(xiàn)命令卡在某個(gè)倉(cāng)庫(kù)好久不動(dòng)可以 CtrlC 后重試一般不會(huì)有嚴(yán)重的殘留問題。3.3 同步完成后要做什么檢查同步完成不等于萬(wàn)事大吉先花兩分鐘檢查ls ~/openharmony repo info | head -30 du -sh ~/openharmony頂層目錄應(yīng)該能看到build、device、kernel、vendor、third_party、foundation、applications等核心目錄。如果某個(gè)目錄缺失或者明顯過小說明同步時(shí)有倉(cāng)庫(kù)沒拉完整需要再跑一次repo sync -c -j4。repo info會(huì)打印所有倉(cāng)庫(kù)的狀態(tài)可以順便看有幾行error或uninitialized有異常就先補(bǔ)拉。du -sh只是讓你對(duì)體積有個(gè)數(shù)輕量系統(tǒng)源碼加倉(cāng)庫(kù)元數(shù)據(jù)通常 20G 左右過小說明中途失敗了。如果倉(cāng)庫(kù)配置了 LFS 大文件還需要執(zhí)行repo forall -c git lfs pull確保二進(jìn)制大文件已經(jīng)真正落盤。這一步不做后面編譯到鏈接固件時(shí)經(jīng)常會(huì)報(bào)“文件太短”或者invalid ELF header非???。3.4 小熊派nano板級(jí)代碼的補(bǔ)充獲取這一步取決于你用的分支。在 3.0-LTS 里小熊派nano的板級(jí)適配通常已經(jīng)隨源碼帶下來了驗(yàn)證方法很簡(jiǎn)單ls ~/openharmony/vendor/bearpi/bearpi_hm_nano ls ~/openharmony/device/bearpi/bearpi_hm_nano兩個(gè)目錄下能看到config.json、build.gni、hals之類的文件說明適配代碼齊全。如果目錄為空或不存在說明當(dāng)前分支沒有內(nèi)置小熊派nano適配需要從社區(qū)倉(cāng)庫(kù)手動(dòng)補(bǔ)充。具體地址以該分支官方文檔為準(zhǔn)大體是cd ~/openharmony/vendor git clone bearpi_nano倉(cāng)庫(kù)地址 bearpi/bearpi_hm_nano cd ~/openharmony/device git clone bearpi_nano倉(cāng)庫(kù)地址 bearpi/bearpi_hm_nano注意兩個(gè)目錄放的內(nèi)容不同vendor 下是產(chǎn)品級(jí)配置、裁剪方案和編譯腳本device 下是芯片相關(guān)的驅(qū)動(dòng)和 BSP。缺了任何一個(gè)后續(xù)hb set都看不到小熊派nano這個(gè)產(chǎn)品選項(xiàng)或者編譯到一半報(bào)設(shè)備相關(guān)文件找不到。還有一種情況是倉(cāng)庫(kù)里自帶了構(gòu)建腳本會(huì)在編譯時(shí)自動(dòng)從固定地址拉取 SDK那樣你就不用手動(dòng)操作但要保證網(wǎng)絡(luò)能正常訪問那個(gè)地址。我見過多人因?yàn)橹?clone 了主倉(cāng)沒處理 SDK導(dǎo)致編譯時(shí)中斷現(xiàn)象和缺文件一模一樣。3.5 網(wǎng)絡(luò)中斷和速度慢的應(yīng)對(duì)寫到這里必須說實(shí)話源碼同步是最容易讓人心態(tài)爆炸的一步問題幾乎都是網(wǎng)絡(luò)引起的。我的經(jīng)驗(yàn)是先別急著用高并發(fā)新手從-j4開始跑通了再嘗試-j8。并發(fā)太高只會(huì)讓每個(gè)請(qǐng)求都在排隊(duì)反而容易觸發(fā)超時(shí)。如果某個(gè)倉(cāng)庫(kù)反復(fù)fatal: unable to access可以單獨(dú)進(jìn)入對(duì)應(yīng)目錄手動(dòng)git fetch看看網(wǎng)絡(luò)是否暢通但更省事的辦法是直接重試repo sync -c -j2錯(cuò)峰執(zhí)行例如放在后半夜。Gitee 碼云的服務(wù)質(zhì)量整體靠譜大部分超時(shí)是本地網(wǎng)絡(luò)波動(dòng)導(dǎo)致的短期問題多試幾次往往就過去了。另外提醒一句不要在.repo目錄里手動(dòng)刪文件來“修復(fù)”repo 的狀態(tài)記錄和 manifest 是配套的手動(dòng)刪了可能引發(fā)后續(xù)所有倉(cāng)庫(kù)重同步。真到了不可恢復(fù)的地步寧可把~/openharmony刪掉重新下載也別在那手工瞎改。4. 編譯環(huán)境搭建hb 工具鏈安裝與配置4.1 hb 工具是什么為什么要單獨(dú)裝源碼準(zhǔn)備好之后還需要一個(gè)命令行工具來驅(qū)動(dòng)編譯它就是 hbOpenHarmony build。通俗理解hb 是開源鴻蒙的“編譯管家”它讀取你選定的產(chǎn)品配置調(diào)用底層 gn/ninja 工具鏈批量編譯所有模塊最后把鏡像和固件整合出來。你不需要手動(dòng)一個(gè)個(gè)模塊去 make只要告訴 hb“編哪個(gè)產(chǎn)品”。為什么需要單獨(dú)安裝因?yàn)?hb 不在系統(tǒng)軟件源里也不是預(yù)編譯的二進(jìn)制它就藏在源碼build/lite目錄下本質(zhì)是一個(gè) Python 包。官方設(shè)計(jì)是讓你在獲取源碼后用setup.py把 hb 裝到當(dāng)前用戶環(huán)境里。這也是新手最容易困惑的地方——總以為編譯工具鏈?zhǔn)?apt 裝的其實(shí)一半是源碼自帶一半是本地安裝。舊版源碼比如 1.x用的是python build.py -p bearpi_hm_nano這種方式直接跑腳本。從 3.0 開始流程統(tǒng)一到了 hb所以網(wǎng)上教程新舊混雜很容易讓人懵。先看源碼里有沒有build/lite/setup.py有就該用 hb 流程。4.2 安裝 hb 工具的完整步驟安裝前先確認(rèn) setuptools 可用sudo apt install -y python3-setuptools然后進(jìn)入build/lite目錄執(zhí)行安裝命令cd ~/openharmony/build/lite python3 setup.py install --user這里的--user參數(shù)很關(guān)鍵只安裝到當(dāng)前用戶目錄不需要 root也不污染系統(tǒng) Python 環(huán)境。即使你只有一個(gè)開發(fā)用戶也建議用這種方式后續(xù)升級(jí)或者卸載都干凈很多。安裝完成后hb 的可執(zhí)行文件會(huì)放在$HOME/.local/bin需要手動(dòng)加入 PATHexport PATH$HOME/.local/bin:$PATH echo export PATH$HOME/.local/bin:$PATH ~/.bashrc source ~/.bashrc驗(yàn)證是否成功hb help能看到幫助信息就說明安裝完成。如果提示ModuleNotFoundError: No module named hb先檢查是否在build/lite目錄下執(zhí)行的 setup.py再確認(rèn)安裝過程沒有報(bào)錯(cuò)最后用python3 -m pip list | grep hb看看包是否真的裝上。很多時(shí)候只是 PATH 沒配置hb 其實(shí)已經(jīng)裝在系統(tǒng)里了。4.3 配置環(huán)境變量并驗(yàn)證hb 安裝好之后正式編譯前先要認(rèn)識(shí)源碼根目錄。進(jìn)入源碼根目錄執(zhí)行cd ~/openharmony hb set這是交互式命令會(huì)列出所有已發(fā)現(xiàn)的開發(fā)板產(chǎn)品。選擇列表里的bearpi_hm_nano即可。如果不想用交互菜單也可以直接指定hb set -root ~/openharmony hb set -p bearpi_hm_nano-root把當(dāng)前源碼目錄設(shè)為根目錄-p直接把產(chǎn)品設(shè)為小熊派nano。執(zhí)行完可以用hb env查看當(dāng)前編譯環(huán)境hb env輸出里應(yīng)該有 root、product、device_path、kernel 等信息。重點(diǎn)看 product 是不是bearpi_hm_nano再看 device_path 是否指向device/bearpi/bearpi_hm_nano。如果這里顯示的 device_path 是空的說明板級(jí)適配代碼沒有識(shí)別到回到 3.4 節(jié)檢查 vendor/device 目錄。此時(shí)應(yīng)該養(yǎng)成一個(gè)習(xí)慣把 PATH 和 root 相關(guān)配置寫進(jìn).bashrc不要每次開終端重敲。我見過太多人編譯前忘了source ~/.bashrc然后 hb 一直 not found其實(shí)不是環(huán)境壞了只是新終端沒加載配置。4.4 編譯依賴確認(rèn) gn、ninja 和工具鏈在不在hb 只是調(diào)度器真正干活的是 gn、ninja、編譯器。這些一般在源碼自帶的prebuilts目錄里。檢查ls ~/openharmony/prebuilts正常能看到很多工具鏈目錄。如果這個(gè)目錄不存在或者內(nèi)容是空的大概率是同步不完整或者你手動(dòng)刪過文件。工具鏈缺失的癥狀很典型編譯一開始就報(bào)ninja: command not found或gn: No such file or directory。這時(shí)不要自己去 apt 裝 gn/ninja版本對(duì)不上反而更亂正確做法是檢查源碼倉(cāng)庫(kù)完整性重新同步對(duì)應(yīng)倉(cāng)庫(kù)。編譯器方面開源鴻蒙的交叉編譯工具鏈也放在 prebuilts不依賴系統(tǒng) gcc。但編譯某些宿主工具時(shí)還會(huì)用到系統(tǒng)的 gcc/g所以第 2 章里的依賴包仍然要裝。5. 編譯源碼從 hb build 到拿到燒錄固件5.1 第一次編譯前必須檢查的項(xiàng)真正按下編譯按鈕前花 5 分鐘逐項(xiàng)檢查能避免一大半莫名其妙的失敗磁盤空間df -h /home至少預(yù)留 10GB。編譯產(chǎn)物在out目錄輕量系統(tǒng)全量編譯后也有好幾個(gè) GB。源碼屬主ls -ld ~/openharmony確保目錄所有者是當(dāng)前用戶。如果之前用 sudo 創(chuàng)建或修改過某些文件后續(xù)編譯會(huì)因權(quán)限不一致報(bào)錯(cuò)。修復(fù)命令sudo chown -R $USER:$USER ~/openharmony。Python 軟鏈接python --version必須能正常輸出如果 no such file 就去裝 python-is-python3。hb 可用性which hb能打印路徑才行。內(nèi)存余量free -h。如果內(nèi)存只有 4G 左右非常建議先加 swap。快速加 swap 的方法sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile加完 swap 能顯著降低編譯中途被 OOM Kill 的概率。注意/swapfile的路徑和權(quán)限是硬要求權(quán)限不對(duì)內(nèi)核會(huì)拒絕使用。5.2 執(zhí)行編譯與日志閱讀確認(rèn)無誤后執(zhí)行全量編譯cd ~/openharmony hb build -f 21 | tee build.log-f表示強(qiáng)制全量編譯。第一次編譯必須全量因?yàn)?out 目錄里什么都沒有。編譯過程會(huì)大量刷日志這時(shí)不要干等學(xué)會(huì)看日志關(guān)注最后的輸出是否有build success字樣。出錯(cuò)時(shí)搜索error:或Error:直接定位到第一個(gè)錯(cuò)誤通常真正的錯(cuò)誤在第一個(gè)后面一連串都是連鎖反應(yīng)。日志落盤到build.log后可以用grep -i error build.log | head -30快速梳理。編譯時(shí)長(zhǎng)方面四核八線程的虛擬機(jī)第一次全量大約 15 到 30 分鐘取決于磁盤性能和 CPU。如果中途 Killed先加 swap 再重跑如果中途某個(gè)模塊報(bào)錯(cuò)把報(bào)錯(cuò)信息連同 hb 版本一起搜索基本都有答案。編譯成功后再次編譯時(shí)直接用hb build不帶 -f走增量編譯ninja 只重編改動(dòng)過的模塊通常幾秒到幾十秒就結(jié)束了。5.3 編譯產(chǎn)物在哪里怎么確認(rèn)成功編譯完成后小熊派nano的固件產(chǎn)物一般在ls -lh ~/openharmony/out/bearpi_hm_nano/BearPi-HM_Nano/這個(gè)目錄下會(huì)出現(xiàn)幾個(gè)關(guān)鍵文件Hi3861_wifiiot_app_allinone.bin可以直接燒錄的全量固件這是你最需要的東西。Hi3861_wifiiot_app.elf帶符號(hào)的調(diào)試文件調(diào)試崩潰問題時(shí)用。Hi3861_wifiiot_app.map內(nèi)存布局圖分析內(nèi)存占用時(shí)看它。判斷編譯是否成功除了看日志里的build success還要看 bin 文件的大小和時(shí)間戳。文件時(shí)間應(yīng)該是最新時(shí)刻大小正常在幾百 KB 到 1MB 級(jí)別。如果看到 0 字節(jié)或者時(shí)間戳是幾天前的說明這次編譯實(shí)際沒寫出新固件。拿到 bin 之后就可以連接串口燒錄到板子了。具體燒錄流程不是本文重點(diǎn)我只提兩個(gè)關(guān)鍵點(diǎn)一是燒錄前通常需要讓開發(fā)板進(jìn)入下載模式多數(shù)做法是按住 BOOT 鍵再上電二是串口驅(qū)動(dòng)和波特率設(shè)置要按官方文檔來不同板子的 boot 邏輯有細(xì)微差別。5.4 常見編譯錯(cuò)誤與解決速查表把我在實(shí)際過程中遇到以及幫別人排查過的典型問題整理成一張表方便對(duì)照?qǐng)?bào)錯(cuò)/現(xiàn)象大概率原因解決辦法hb: command not foundhb 未安裝或 PATH 未加載重新執(zhí)行python3 setup.py install --user并把$HOME/.local/bin寫進(jìn)~/.bashrcNo module named hbsetup.py 沒裝成功確保在build/lite下安裝先升級(jí) pip 和 setuptools 再重試No product found板級(jí)適配代碼缺失或產(chǎn)品名寫錯(cuò)檢查vendor/bearpi/bearpi_hm_nano和device/bearpi/bearpi_hm_nano確認(rèn)名字大小寫python: No such file or directory系統(tǒng)缺少python軟鏈接sudo apt install -y python-is-python3編譯中途 Killed內(nèi)存不足增加 swap、關(guān)閉 GUI、暫時(shí)降低并行任務(wù)磁盤寫滿out 目錄或源碼太大df -h找空間清理舊 out擴(kuò)展虛擬磁盤invalid ELF header/ 文件太短LFS 大文件未拉取repo forall -c git lfs pullninja/gn not foundprebuilts 不完整重新同步源碼不要用 apt 安裝替代權(quán)限錯(cuò)誤導(dǎo)致編譯失敗源碼樹被 root 所有sudo chown -R $USER:$USER ~/openharmony這張表不敢說覆蓋所有問題但覆蓋了新手 90% 的場(chǎng)景。遇到?jīng)]見過的錯(cuò)誤先看第一個(gè) error 出現(xiàn)的位置不要被后面幾十行刷屏嚇住很多時(shí)候錯(cuò)誤原因就藏在前三行。6. 編譯之后的收尾工作與經(jīng)驗(yàn)總結(jié)6.1 完整流程為什么要從頭到尾做一遍環(huán)境搭建這件事表面上是在配置工具實(shí)際上是在建立“源碼管理 構(gòu)建系統(tǒng) 板級(jí)適配”三者關(guān)系的全局觀。只復(fù)制命令不思考換個(gè)分支、換個(gè)板子就又不會(huì)了。我強(qiáng)烈建議新手至少手動(dòng)完整跑一遍不要用任何一鍵腳本把每一句命令的作用在筆記里寫下來。我第一次跑通整個(gè)流程的最大感受是問題基本都出在“環(huán)境依賴”而不是“代碼邏輯”上。源碼本身絕大多數(shù)情況是沒問題的編譯不過大多是 Python 軟鏈接缺失、vendor 目錄沒放對(duì)、磁盤空間不夠這類小事。把這些前置條件理順了后面寫業(yè)務(wù)代碼才有意義。另外建議把常用的編譯命令整理成一個(gè)可復(fù)用的腳本比如build.sh內(nèi)容大致如下#!/bin/bash source ~/.bashrc cd ~/openharmony || exit 1 hb build -f 21 | tee build.log放在源碼目錄外省得每次敲長(zhǎng)命令。腳本第一行必須先 source 環(huán)境否則 PATH 可能沒加載 hb。6.2 新手最容易忽略的3個(gè)細(xì)節(jié)第一個(gè)細(xì)節(jié)是權(quán)限。很多教程會(huì)順手寫sudo比如sudo repo sync、sudo python3 setup.py一旦源碼樹某些文件變成 root 所有后續(xù)當(dāng)前用戶編譯就會(huì)碰到各種 Permission denied。我的原則是除了apt install需要 sudo源碼目錄內(nèi)的一切操作都用普通用戶已經(jīng)出問題的用 chown 一次性修復(fù)。第二個(gè)細(xì)節(jié)是新終端的環(huán)境變量。hb 配置寫入.bashrc之后所有新開的終端都會(huì)自動(dòng)生效但如果你用了終端里的“標(biāo)簽頁(yè)復(fù)制”或某些特殊 shell可能沒有執(zhí)行完整 profile這時(shí)手動(dòng)source ~/.bashrc即可。不要一看到 not found 就急著重裝 hb先 which 一下看路徑。第三個(gè)細(xì)節(jié)是增量編譯與全量編譯的分工。日常只改了應(yīng)用或驅(qū)動(dòng)代碼用hb build增量就行如果修改了產(chǎn)品級(jí)配置、vendor 目錄結(jié)構(gòu)、內(nèi)核裁剪選項(xiàng)再用hb build -f全量重新來。盲目全量不僅浪費(fèi)時(shí)間還會(huì)掩蓋真正的問題因?yàn)槿罩咎嗔恕?.3 最后分享一個(gè)小技巧我現(xiàn)在的做法是在主目錄下維護(hù)一個(gè)env.sh集中管理所有開發(fā)環(huán)境變量export PATH$HOME/bin:$HOME/.local/bin:$PATH export OHOS_SOURCE_ROOT~/openharmony每次進(jìn)入新終端先source ~/env.sh不管切到哪個(gè)項(xiàng)目都能快速定位。配合alias hbbcd $OHOS_SOURCE_ROOT hb build -f這樣的別名操作效率會(huì)高很多。這個(gè)小習(xí)慣算不上什么高深技術(shù)但對(duì)長(zhǎng)期做嵌入式開發(fā)的人來說能省下大量重復(fù)勞動(dòng)??赐暾琢鞒棠憔蜁?huì)發(fā)現(xiàn)小熊派nano的環(huán)境搭建并不復(fù)雜難的是那些零散的、文檔里不會(huì)細(xì)講的系統(tǒng)細(xì)節(jié)。把路徑、權(quán)限、版本差異、命令工具這幾件事先理順后面編譯源碼的過程其實(shí)是很順利的。希望你也能順利跑通在“拿到固件”的那一刻前面所有的折騰都值了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品另类一区大香蕉| 日本福利社| 国产精品不卡一区二区电影| 国产乱码精品一区二区三区四川| 国产精品久久久777| 国产毛片久久久久久久| 日韩有码回春沙龙第一页| 国产区性爱在线视频秋霞豆| 色吧5亚洲| 一区二区三区男女操逼黄色小电影| 91视频综合网| 久9久精品视频| 久久久久久加勒比| 欧美在线官网| 国产又色又粗又黄又爽| 小电影欧美91| 亚洲伊人久久精品影院| 五月丁香大香蕉| 免费a v| 嗯嗯,好大,好爽,好骚| 99碰碰| 极品销魂美女一区二区| 97综合在线| 免费看污网站| 最新中文字幕在线亚洲| 狠狠超| 色偷偷2020免费视频播放| 亚洲不卡不卡中文字幕不卡| 啊啊啊啊一区| 色色色色电影网| 97爱爱| 人人妻人人色一区二区三区| 亚洲图片欧美制度| 精品美女在线视频| 无码99| 综合久久久久久久综合网| 成人草草视频| 久久久亚洲| 精品免费囯产一区二区三区| 人妻素股| 91网亚洲| 淫乱图区| 超碰 另类 欧美| 欧美综合色站| 亚洲文学偷乱拍啪啪啪啪| 久久精品免费| 偷拍伦理视频| 亚洲天堂,男人| 偷拍网站久久男女男| 91人妻Pr| 性爱av网站| 亚洲男人天堂Av| 国产一区96在线| 丁香五月综合| 99精品网| 99少妇精品视频| 大香蕉碰| 久久女同性恋一二区| 日韩AV一区二区三区四四| 狠狠狠一区二区三区| 欧美操逼一二三区| 久热伊人| 91综合国产精品| 夜夜嗨AV一区天天| 混色激情av| 国产日韩区| 欧美色97| 亚洲欧美精品一区天堂久久 | 嗯嗯啊啊啊啊轻点视频| 精品美女少妇一区二区三区| 快播电影网日韩新片| 亚洲在线a| 97免费视频在线| 人人操人人肉久久精品| 欧美日韩222| 久久婷婷色| 老鸭窝在线视频播放| 欧美亚洲20p| 亚洲。天堂。日本在线观看| 男人的天堂com| 操逼视频国产无套| 亚洲丝袜诱惑| 五月天婷精品激情| 天天看,天天做| 久草色悠悠在线视频| 亚洲情色1区| 亚洲国产中文字幕| 26uuu欧美日韩| 日韩无码三级影院| 中文字幕一区 二区三四五 区日 日骚| 欧亚日韩综合精品国产| 一级性爱视频免费在线| 91亚州日韩高清| 伊人少妇久久久| 大香蕉伊人网| 久久精品国产精品亚洲艾通辽熟妇| 一级黄碟在线观看| 久久中文字幕女同性恋一区| 91精品国产91久久青草| 欧美日韩色综合网| 九九久久久九九| 深喉吞精| 曰韩精品视频一区二区| 91色鬼| 欧美综合色,www| 亚洲第一黄色av网站 | 亚洲国产第一页综合视频| 亚洲不卡一| 综合久久久久久久综合网| 国产欧美第五页| 国产丁香精品露脸视频| 99精品网| 亚洲āv网址在线观看| 国产又粗又又黄又猛| 国产日韩美女小穴视频网站不卡| 欧美疯狂做爰xxxx| 超碰在线日韩一区| 亚洲日韩美国人妻| 台湾佬中文娱乐网久久久久久久久久com | 欧美草草高清日韩视频| 九九AV| 老熟女天天操| 五月丁香综合激情| 巨爆乳一区二区爆乳区| 97精品综合久久网| 近亲乱伦一区二区| 女生自91网站| 99热只有这里有精品| 欧美 青青草| 国产无码精品高清| 性感女人网页在线观看视频| 日韩人妻一区二区| 91国产大片| 亚洲精品天堂久久A∨51成人漫| 欧美极品少妇交| 99激情| 久久亚洲天堂| 丰满人妻一区二区三区免费 | 欧美成人精品一区二区男人蜜臀| 免费在线黄片视频| 91老妇女| 手机不卡视频不卡在线一二三区| 久久精品国产亚洲妲己影视| 欧美色图成人网一区二区| 国产精品久久aV| 亚州精品丝袜-不卡成人免费| 99操碰| 粉嫩粉嫩一区性色AV片| 精品丰满熟妇人妻一区| 高清无码网址| 欧美人人操人人插| 超碰偷拍| 天天色综合图片| 偷拍新久久| 天天干天天爽| 密乳AV免费观看| 熟人人妻少妇精品久久| 欧美性爱一内片一区二区三区| 日韩精品碰碰| 第四色色综合91| 韩国午夜理伦三级好看| 亚洲色图欧美一区二区不卡| 亚州国产成人精品女人久久| 男人的天堂亚洲| 伊人一区二区在线播放| 99热这里都是精品| 少妇精品久久久八区九区| 天天操天天插| 亚洲人妻中文高清| 韩日色费| 日本大香蕉综合网| 麻豆天美传媒在线视频天堂| 97婷婷色| 在线观看亚洲专区| 天天视频黄| 99热线麻豆 | 久久久97| 91久久久老司机| 色婷婷淫色网| 97资源超碰| 女人高潮大叫一级毛片| 91深夜夜| 午夜福利国产欧美日韩夜夜| 国产精品丝袜在线| 老熟女阿 国产91| 碰超人人在线一区二区三区| 天天看特黄的免费网站| 日本色色色视频| 亚州男人的天堂| 欧美黑人熟妇精品91| 人妻81p| 亚州综合色| 五月天伊人网| 国产精品欧美在线观看| 国产精品午夜精品| 欧美在线视频观看一二三四区高清| 99精品视频在线观看| 岛国黄色大片网站| A片 AV一级在线播放观看免费| 摸奶性爱视频网站在线免费播放| 亚洲精品九九九| 牛牛久久国产精品视频一二三 | 九九AV| 国产后入式在线观看| 91爱欧美| 99热线麻豆 | 超碰在线一区二区三区| 欧洲亚洲人妻无码高清久久三区四区| 色哟哟国产精品免费网址| 熟啊v色欧美热| 男人的天堂不卡一区二区 | 欧美天天综| 91 在线亚洲| 国产一区二区三区不卡手机在线| 亚洲阿v天堂无码z2018| 午夜视频久久久久一区| 日本人妻伦在线中文字幕| 91欧美在线| 欧美视频一| 亚洲无992tv| 欧美十八禁视频| 日韩欧美亚欧在线视频| 不卡av在线中文字幕| 日本人妻中文字幕精品| 亚洲成a人片在线观看中文!!! | 老熟女区| 亚洲综合 欧美| 久欲AV| 日本精品一区二区不卡| 日韩在线一区高清在线| 欧美精品久久久久久久久88| 亚欧免费观看视频| 一级日本牲交大片好爽在线看| 欧 美 自 拍 偷 拍| 郑州宾馆老熟女露脸啪啪| 久久久中文| 美国人人操人人操| 欧美在线综合| 亚洲天天自拍| 黑人狂躁日本妞一区二区三区| 亚洲国产另类在线中文| 超碰在线一区二区三区| 99久久久无码国产精品性啊聊| 桃花色综合影院| av资源在线播放天堂| 日本高清_区二区三区| 大香蕉手机视频| 亚洲中文字幕有码视频一区二区三区| 免费视频观看60秒| 3028国产精品| 亚洲AO在线| 久久久月天| 国产精品日韩在线一区| 五月综合久久| 亚洲少妇视频| 日韩99精品视频综合区| 91婷婷伊人狠人| 日韩精品人妻中文字有码在线| 亚洲素人综合| 综合 欧美 亚洲 日本| 久久草大香蕉| 亚洲国产蜜臀系列在线观看| 国产黄色视频久久| 五月天婷婷成人网| 亚洲中文字幕一区| 天天插夜夜操| 成人熟女视频一区二区三区| 日本黄色精品| 日韩不卡在线一区二区| 丝袜美腿校园春色| 色综九九九一区| 日本淫乱女一区二区三区视频| 国产无马av| 久久视频,这里只有精品| 欧美亚洲天堂| 日韩内射视频| 少妇被c 黄 免费观看| 五月天精品| 骚货 中文字幕 av| 大香蕉专区| 97爱亚洲综合色| 色欧美综合| 九九色图| 男人的天堂1024| 在线性黄高清免费视频| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 日韩伦理久 久久 清纯| 亚洲有码视频二区| 综合色图亚洲欧美| 干少妇视频| 五月丁香网站| 在线观看中文字幕| 欧美日韩夜夜| 亚洲欧美日韩免费观看| 蜜桃视频一区二区三区在线观看| 麻豆国产精品午夜视频| 99久热精品99re6热| 日韩欧美tv一区二区在线观看| 目产99999久久999| 日韩精品在线观看观看| 亚洲爱爱视频一区二区| 中国女人内射6XXXXX| 婷婷美人网| 精品午夜福利国产一区二区在线观看| 久久国99999| 91九色蝌蚪在线观看| 色天堂综合| 日韩一级特黄av毛片| 欧美91久久久久| 国产精品亚洲一区二区三区四区| 9久久久久| 欧美精品另类人妖xxxx| 最新国内自拍av免费| 牛牛久久国产精品视频一二三| 亚洲色 国产 欧美 日韩| 天天久久久久久| 亚洲另类综合欧美| 日韩卡一卡二卡三在线| 美女久久久| 99久久综合| 国产操操日韩三级黄| 激情文学小说一区二区| 国产怡红院| 日韩久久.一级黄色片| 欧美同性恋 的搜索结果 - 91n| 丁香五月婷婷五月| 91丨九色丨国产丨人妻在线| 丰满熟妇大乳做爰| 久久夜嗨| 成人夜夜爽| 久久这里是精品| 玖色av| 91美女中出| 丁香六月婷婷| 精品一区99999| 91蜜臀在线久久久久| 在线A日本| 欧美伊人电影| 日日玩天天干| 超碰在线1234区| 欧美日日网| 久久精品店| 欧美亚洲激情| 欧美体内射精| 九九九久久久久| 天天天天操| 欧美大香蕉专区网| 久久在线观看免费视频 | 为用户提供免费看黄网址在线观看| 国产少妇内射| B049AV在线播放| 乱理日韩中文| 高凊专区人人操| 777奇米影视777四色| 欧美人与动性人交a| 久伊人网78| 99re在线视频| 日日噜噜夜夜久久亚洲一区二区| 欧美日韩人人精品| 国产九月婷婷| 色色五月婷| 黄色欧美性爱视频| 亚洲成人无码影院| 在线观看亚洲专区| 青娱乐欧美激情一区二区| 神马久久久久久| 成人无码欧美一级A片狼牙直播| 欧美韩日精品资源| 欧美综合在线91| yazhousetuoumei| 欧美拳交在线播放| 男人的天堂在线有码| 亚洲婷婷五月天| 免费看一级a性色生活片久久无| 玖玖爱一区在线| 午夜.DJ高清在线观看免费7| 国产精选视频| 亚洲九九视频| 天天伊人| 91精品老女人| 在线中文字幕| 桃花色涩综合影院| 欧美三级一级| 欧美色九九九| 99re8免费高清在线| 日韩影片中文字幕一区二区三区| 日韩美女久久一区二区三区| 91亚洲不卡一区| 蜜臀久久久久久999| 精品久久一区二区三区四区五区| 91视频国品一二三区| 精彩国产视频播放1区2区| TS人妖另类精品视频系列 | 18精品一区| 99久久无色码| 一区二区国产视频在线观看| 玖玖草久草99蜜月一区二区三区| 97国产精选| 少妇三p| 97在线免费看视频| 成人AV超碰免费在线| 天天激情综合站| 看黄片视频免费| 午夜男女爽爽爽在线视频| 五月天伊人| 国产性感骚丝袜在线| 精品v1区| 欧亚韩国999| 唯美清纯 妖精视频| 性色AV网站| 久久久久久久国产视频| www.夜夜操| 色女99一级片在线观看| 亚洲不卡一| 女人综合网| 伊人久久在线视频观看| 99久在线精品99re8热| 久久色激情一区二区三区| 熟女网站最新| 美女诱惑一区| 午夜精品探花| 男人的天堂2018.| 日日日日做夜夜夜夜做无码97| 美女t无毒不卡不卡| 国产精品免费久久久久久久久久| 特级丰满少妇一级AAAA爱毛片| 黄污污污污| 校园春色中文字幕AV| 久久东京热成人| 精品毛片av一区二区| 亚码激情| 国产精品大屁股999| 91精片| 国产视频一区二区免费| 麻豆婷婷成人一二三| 伊人9| 收看日本人日bb| 五月婷婷综合网| 9精品久久| 在线亚洲欧美| 国产精品色| 久久天堂网| 密乳AV免费观看| 久久久蜜桃一区二区三区| 天天舔天天日天天射| 亚洲加勒比| aaa一级黄片| 亚洲成人妻日韩在线| 国产精品美女视频诱惑| 激情五月天色播| 亚洲 无码 有码 中文字幕| 免费一级性爱久久| 黄色成品网站| 人妻色偷色噜| 欧美日韩222| 啊啊啊啊啊在线| 99精品久久| 九一综合精品视品av| 69一区二区三区| 超碰在线香蕉| 欧亚第一综合网| 欧美性色欧美| 亚洲欧美激情另类色图| 大香蕉性欧美| 中国亚洲呦女专区| 后入合集| 六月丁香五月婷婷| 久久啊啊啊| 日韩草久视频| 99热在线观看| 操香逼| 成人无码在线视频网站| 亚州色图狠狠干| 一本色道久久天天射天天干| 久久婷婷亚洲欧| 国产一区二区a毛片| 青青草玖玖爱| 五月综合久久| 尤物av网站免费在线播放| 国产精品乱人伊人网| 一区二区三| 国产美脚女优尤物在线观看| 最新av中文字幕高清| 伊人伊人LD| WWW黄片COM| 久久久久久久久久久久97| 精品精品精品| 美女视频尤物网在线看| 亚洲日韩资源| 国产精品对白内射| 在线岛| 日韩欧美中文字亚洲慕| 天天摸,夜夜摸| 思思热国产高清| 日韩欧美偷拍美女视频| 女人高潮大叫一级毛片| 又大又大又大又粗爽高潮观看| 爱欲AV| 国产成人在线观看综合| 国产精品熟女一区二区三区| 亚洲熟久久| www久| 精品国产av一区二区三区四区入口| 91国产大片| 亚洲欧洲网站免费观看| 黄色香蕉视频网站一区| 欧美亚洲韩国视频十五区| 九色97| 激情无码日韩| 人人弄人人摸| 中文字幕午夜精品久久久| 国产又黄又猛又粗又爽的网站| 国产三级资源在线观看| 久操国产在线| 久久久精品一区二区| 成人资源中文字幕在线观看天天| 无码WWW免费视频网站| 国产精品久久泡妞网站| 久久超碰av在线| 老女人日韩美91| 亚欧Av| 亚洲欧洲无码bt精品合集| 久久久月天| 9久精品视频在线观看| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 中国少妇啪啪视频| 日韩欧美资源| 亚洲淫乱骚妇AV| 插入综合网| 婷婷综合网站| 久久6热视频免费观看| 亚洲巨爆乳一区二区三区四季网| 日本精品一区二区不卡| 爱丝福利| 人妻熟女一区二区| 超碰中文字幕人妻草一区| 久久精品一区二区三区不卡| 日韩中文字幕二区| 综合欧美日韩在线观看| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 欧美另类天堂| 久久噜| 国产馆| 五月丁香综合| 激情综合五月| 日本九九九九| 天综合网欧美| 奇米狠999| 福利操逼| 黄呦呦在线| 91精品女厕偷拍视频| 亚洲精品自拍| 你懂的在线观看区国产| 色哟哟 日韩精品| 国产强奸乱伦无码视频| 中文字幕欧美日韩三级| 我要色综合网| 绯色一区二区三区不卡少妇| 天天色图| 国产精品分类在线观看| www.99色| 韩日性爱av| αⅴ天堂| 中国探花熟女| 97香蕉碰碰人妻国产欧美| 人妻人人操| 九九99精品| 99精彩视频| 久超碰在| 超碰天天操| 日韩八十路老熟女| 97亚洲自在精品在线观看| 国内外激情在线| 欧美东京热青青草| 精品日韩人妻视频| 无码日韩人妻av一| 色婷久久| 精品人妻一区二区三区-国产精品| 操逼内射干逼白丝91| 香蕉免费一区二区三区不读| 超碰97人人乐| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 好吊色综合| 免费无码婬片AAAA片直播色戒| 亚洲一区二区 麻豆传媒| 在线观看A啊啊啊| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 日日嗷| 超碰97伊人| 国产高清自拍视频| 操逼片国产| 久综合网| 欧美色图私拍91| 不卡六六在线91| 国产成人久久精品蜜臀| 精品欧美А∨无码黑人大荫蒂| 亚欧国产无码精品在线| 久久国产精品91| 亚洲日韩东京热一区| 欧美色蜜桃97| 日韩欧美成人性爱在线| 开心五月激情网| 亚州综合图片| 欧美日韩1234| 久久一区二区三区入口| 夜夜操91744565| 久久超碰天天| 日韩无码精品综合久久| 99色色网| 国产精品粉嫩福利在线| 韩国三级一线观看久| 免费看欧美美女黄色大片 | 精品人妻久久久久一区二区三区| 五码视频在线观看| 日日夜夜干| 久久久国产精品亚洲精品| 日夜伊人网| 强奸乱伦av电影| 久久內射| 丰满人妻aA一区二区三区| 强奸a片网| 日日日大屁股骚女人精品| 日本韩高清无砖码22o| 岛国成人av在线播放网址| baiduhicn.com。| av网站国产主播在线| 欧洲色| 天天综合网~91| 国产强奸超碰AV| 久久久久久久久久久久九| 亚洲国产美女久久久久| 天天综合亚在线| 亚洲高清欧美总合| 中文字幕在线观看视频www| 亚洲精品97中文字幕| 国产日产精品久久快鸭的功能介绍| 大香蕉AV丝袜| 亚洲天堂男人| 在线人妻熟女一区二区三区四区五区| 亚洲精品人体| 好吊妞转入那个网| 欧美中文综合| 亚洲精品久| 91综合在线| 成人无码专区精品视频| 人人操人人爽人人操人人| 中文字幕视频一区视频二区| 一二三区操逼国产91| 国产精品天美传媒| 伊人网免费视频| 亚洲欧美日韩有码| 久久五十路熟女人妻| 婷婷15月天青娱乐| 国产日韩在线播放| 啊啊啊慢点| 国产免费一区二区三区最新不卡 | 一品道视频一区二区三区| 精品九区| 久久久久中出| 黑人白女精品一区| 夜夜做夜夜爽精品视频| 婷婷五月天AV| 天天色图| 素颜老阿姨乱情色| 欧美特大黄一级片片免费| 青青草依人大香蕉| 伊人久久亚洲中文字幕| 国产精品国产自产高清AV| 无码九九| 欧美极品少妇交| 一区二区精品日韩欧美在线观看| silk lablo在线观看一区二区| 成人免费福利在线观看| 亚洲中文字幕熟女少妇一区二区| 高清不卡国产| 久久精品国产亚洲AV嘿嘿| 日韩BBN| 97视频观看| 夜夜天天噜狠狠爱2021| 97久操| 欧美香蕉视xxx| 国产 v乱码一区二| 1240青青草一区二区三区视频天爱| 麻豆国产原创AV色哟哟| 久久久久久久国产a∨| 性色aV一区二区三区噜噜| 麻豆黄色五月天| 看黄片视频免费| 97超碰站| 日日爽熟女| 精品国产一区二区三区久久久蜜臀| 操逼片中文| 超碰欧美| 天堂亚洲精品| 99精品伊人| 淮穴色AV| 国产精品99久久久www| 超碰97人人cao| 日本久久久久久久久久| 欧美日韩婷婷中文| 超碰调教97| 8050无码八戒| 亚洲国产91精品一区二区久久| 99少妇内射| 国产1727欧美| 久久精品老司| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 凹凸 69堂 在线播放| 国产综合久久久鬼色| 久久思思热| 国产精品免费视频人成| 吖在线不卡一区二区国产剧情| 农村妇女精品一二区| 欧美性视频二区三区| 好看的91视频| 美女在线H91| 亚洲丝袜色| 日韩无码成人电影| 在线人人人人人人精品超| 日本人妻中文字幕精品| 97免费视频在线观看| 91国产丝袜白虎| 亚洲AV色图一区| 亚洲啪啪啪啪视香蕉| 97 视频在线| 色婷婷综合久久久久中文一区二区| 大奶啊啊好爽| 色婷婷六月| 亚洲欧洲另类| 开心激情婷婷| 99精品视频在线观看| 色色色欧美| 中文字幕在线高清男人的天堂| 操高情无码| 久久精品国产亚洲AV高级北京| 中文精品一区二去| 亚洲精品国产专区在线观看| 69少妇一区二区| 亚洲日本激情| 美国一区二区三区视频| 欧美操逼熟女| 日韩欧美国产高清视频| 国产精品无码AV网站| 人人天天干干| 亚洲天堂久久| 久久麻豆一区二区| 国产夜夜艹| 日本啊啊啊啊啊视频| 亚洲大胆人体av| 蜜桃精品一区二区三区久在线| 欧美精品久久| 欧洲站一级二级三级h| 久操免费电影| 欧美日韩在线小说 | 熟妇熟女视频一区二区三区| 亚洲有码 视频一区| 久久久久密| 大香蕉一人在线| 热的中文 热的有码 热的国产| 麻豆天美AV传媒第一页| 五十路三区在线| 乱伦日本中文自拍| 免费精品人妻一区二区三| 精品一二三区久久AAA片| 色综合色综合网| 91国产丝袜足交精品视频| 欧美aⅴ99久久黑人专区| 久久视频,这里只有精品| 啊啊啊慢点| 婷婷色综合欧美日韩| 欧美日日操| 色婷五月| 日逼五月天| 久久久涩| 国产又黄又粗的视频| 国产日韩欧美三级片| 亚洲国产精品久久久久婷婷青年| 99黄页网站| 国产激情在线| 7777奇米影视久久| 国产成人网| 国产丰满熟夫69mpp| 日日AAvv| 成人无遮挡毛片免费看| 日韩成人电影AV| 国产精品欧美激在线| 男人天堂最新手机版在线青青草| 男女一进一出视频久久| 日韩一级成人毛片免费观看| 丝袜夫妻自拍| 色哟哟av| 成人无码在线超碰网| 综合色久| AV色图| 久久性爱视频99| www99热| 亚洲熟女一区| 欧美极品美女aaaaaa级黄片| 99re久久| 国产精品久久久久999| 精品国产Av无码久久久亚洲| 九九综合久久| 国产精品乱码久久久久久| 亚洲巨爆乳一区二区三区四季网| 色9999日韩国产| 中国的操老妇女| 欧美中文字幕日韩在线| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 免费看黄视频亚洲网站| 青青草在线视频人人想人人上 | 婷婷日韩一区二区三区中文字幕在线| 丝袜狂射91| 最新国内自拍av免费| 丝袜六区| 色色九区| www.色婷婷| 天天日天天干天天摸天天操| 伦伦成年午夜免费视频| 中文字幕少妇色| 91情色| 国产欧美日韩在线观看麻豆传媒公司| 四虎免费在线播放| 久久99午夜精品一区人妻| 欧美天堂超碰97| 热无码中文亚洲H一道本一区二区| 欧美日不卡| 久久久无码视频| 丁香五月av| 成人小电影网站tex| 日本欧美国内在线| 欧美丝袜91| www.狠狠操| 欧美色性情| 嗯嗯啊操我| 欧美色宗合| 色女网日韩| 亚洲 欧美 日韩 国产一区二区| 老熟女91av| 成年人黄色视频免费| 青青草国产亚洲精品久久| 看日韩黄片| 高树玛利亚无码流出| 人人插人人摸人人| 日韩电影免费网站麻豆视频| 国产av美女被艹的乱叫| 偷拍亚洲情色| 欧美操人| 日本欧美中文字幕| 日本97久久久精品| 国产网红精品| 性欧美| 色妺妺在线视频| 视频一区二区免费在线| 九九九久久久久| 国产成人bd在线观看| 欧美性高潮| 久久综合久久综合人久久夜精品| 强奸国产精品视频| 情色五月天就去干| 中文字幕高清20页视频| 国产无吗在线播放| 97资源站久久| 97爱免费插| 亚瑟国产精品久久无码| 997色在线| 粉嫩国产精品久久粉嫩| 亚洲密乳AV| 本道在线| 97青青操视频| 欧美人妻精品一区二区| 亚洲在饯| 韩日精品福利视频一区不卡在线免| 国产欧美日韩精品中文| 97亚洲在线| 欧美国产有色电影| 大香蕉手机视频| 日本一区二区三区午夜观看| 97射欧美| 午夜性| www激情| 亚洲欧洲日韩天堂av| 午夜传煤十二区精品| 欧美久久久15P| 九热视频| 亚洲第一狼人丝袜美女另类 | 婷婷五月av| 亚洲国产欧美一区二区潘金莲 | 一个人免费HD91视频| 蜜桃狠狠色伊人亚洲综合网站| 超碰97久久国| 国产视频一区二区在线| 成人福利视频网| 免费国产电影一区二区| 91n处女在线观看| 91色伦综合| 欧美美女自慰一区二区三区| 日韩av影片在线观看| 无码不卡八戒| 国产久久久久久| 久久精品无码熟妇一区二区三区视频导航| 红桃视频高潮| 九九在线视频| 日本护士高潮| 思思热er精品视频| 国产JDAV无码视频在线观看| 91美女在线| 青青草导航在线视频| 精品然女一区二区| 91蜜臀在线久久久久| 91九色精品熟女内射| 亚洲黄色网址视频| 午夜一区二区三区国产| 日产操逼| 91w欧美| 熟妇视频一区二区三区在线| 国产夫妻性生活视频| 久久最新视频免费观看| 精品久久久九九九孕妇| 亚洲激情网一二三四区| 国产日韩欧美三级片| 深夜激情无码| 99久久精品无码一区二区| 青草草免费网站av| 91一区二区三区蜜桃| 久久69| 免费国产视频| 97日韩欧美| 极品另类| 91综合色噜噜| aaa亚无码专区| 日语五十路和六十路亚洲国产精品 | 黄色毛片A片| 国产精品宅男免费| 久热香蕉精品在线视频| 午夜电影在线观看无码专区| 国产69精品久久久久99尤物| 乱伦图一区| av午夜影院在线播放| 人人摸人人叼| 国产精品久久久鸭无码的功能| 蜜乳AV网址| 亚洲av无码成人精品国产| 五月婷在线| 久久五月份| 嗯嗯啊啊啊好舒服| 求求你操操我| 69久久久久久久久久久久久| 九九九精品色乱九九九| 中文字幕精品三级久久久| 97操B| 九九久久玖玖| 摸奶性爱视频网站在线免费播放| 秋霞网—男女啪啪亚洲免费体验区 | 国产主播福利| 女人被男人桶爽视频网站| 韩国午夜理伦三级好看| 极品尤物在线观看| 情色AV电影| 99re95| 俺也射| 大香蕉99999| 人人爱人人乐人人操| 国产精品毛片?v一区二区三区 | 神马久久久久久久久| 熟女精品日韩一区二区三区| 国产亚洲99久久精品熟| 久久成人午夜精品影院| 午夜一区| 久久综合中文国产| 精品少妇人妻一区二区三区| 亚洲视频精选| 少妇一区二区三区高速| 国产大学生高潮在线播放| 成年女人一区| 国产十八禁视频| 亚洲情色 自拍| 国产精品白丝在线播放| 在线无码操| 日韩紧密久久| 中文字幕精品专区搜索结果91| 国产精品96久久久久久| 啪啪视频亚洲第一| 天天干天天做| 99re这里| 97在线视频免费观看| 日本操逼二区| 久久久久中出| 天天欧美97| 69XX一中文字幕人妻91 | 97亚洲中文| 国产精品无码久久久久2028| 91丝袜美女国产| 国产精品一级二级在线| 中文字幕欧美日韩三级| 久精品无码av一区二免费国产在线观看| 精精夜夜| 少妇精品| 玖玖爱免费观看视频| 亚洲人妻熟妇三十三区| BBBBB97COM| 最近2019中文字幕国语免费版| 国产精品肉丝自拍| 欧美一区二区| 婷婷丁香五月天亚洲天堂网| 熟女中出视频| 亚洲色图欧美色图另类图片| 91精品大奶人妻| 日日做夜狠狠爱欧美黑人| 激情综合网亚洲| 九九久久精品| 伊人午夜福利视频| 免费又黄又裸乳的视频| 国产av青草| 久久久久少妇| 精品超碰中文在线| 5252色欧美在线男人的天堂| 蜜乳AV一区| 精品久久久久久久久久久久 | 亚州色图狠狠干| 国产精品 视频| 看日韩美女二区三区免费操逼视频| 97天天插| 日韩在线观看字幕精品| 亚洲综合九| 亚洲国产奇米影视久久| 成人五月天色网| 免费久久一级毛片大黄| 欧美专利1区2区3区4区5区免费| 91欧美综合| 午夜免费视频1000| 91精品人妻一品二品三品| 日本久久天堂| 九久久精| 国产毛片精品一区二区色欲黄A片| 骚鸭AV| 大香蕉啪啪网| 日韩精品 欧美激情| 九九色综合| 久热最新在线杭州| 激情一区二区三区在线观看| 日本欧美不卡| 欧美亚洲综合色| 丝袜亚洲综合| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久久精品国产亚洲AV高级北京| 91在线/欧洲| 一区二区视频在线播放| 精品无码产区一区二| 久久精视频美日韩在线视频| 成人资源中文字幕在线观看| 国产精品久久久久av| 四虎影视欧美| 亚洲欧洲视频小说在线观看| 少妇熟女1区2区3区| 久久婷婷亚洲欧| 天天干天天操天天干天天操| 亚洲天堂另类| 久久久久久久久久久六六| 欧洲性爱无码区| 欧美 熟女 日韩| 麻豆国产96在线| 欧美日韩另类激情图片| 青青草吊丝| 四虎影视永久在线免费| 后入式999| 野狼激情网| 亚欧性爱无码| 校园春色 亚洲| 精品久久久久瑟瑟| 亚洲AV噜噜狠狠网址蜜桃动漫| 91成人亚洲色图| 美女超碰978| 国产av强奸美女| 丝袜美腿91| 超碰97资源大奶| 一级特级aaaa毛片免费观看| 97在线观| 超碰人妻中文在线| 日本熟女中文| 日本羞羞的视频在线播放| 中出在线视频| 极品粉嫩一区二区| 91精品无码人妻系列| 国产精品99999| 91美女国产在线| 狠狠久久四虎| 熟女色综合久久| 粉嫩av在线| 欧美综合在线第一页| 无码heyzo高清一区| 中文字幕av亚洲在线| 天天看天天干| 91亚洲最新在线| 神马久久啊啊| 91在线页| 国产 日韩 另类 视频一区爱| 在线日韩日本亚洲国产| 欧美性五月| 青春草A| 中文字幕啊啊啊在线观看视频| 人人看欧美性爱| 2024黄色视频| 久久精品操| 欧美日韩另类字幕中文| 九九久久久九九| 玖玖色综合| 唐山老熟妇露脸啪啪叫| 夜夜草我| 97超碰色色| 97伊人超碰| 日韩97精| 最新av在线| 蜜桃久久久久久| 熟妇在线视频一区二区| 色综合网1| 乱欲一区二区| 成人免费看吃奶视频网站| 七月婷婷综合| 男人的天堂VA| 久久久96精品| 久久久久久久久久精| 97免费视频网| 东北女人av| 九色 人妻 大香蕉| 久久人妻精品| 欧美在线干| 一区二区三区欧美激情| 亚洲av无线观看| xxx0国产在线播放| 97在线视频观看网站| 亚洲无码成人精品| 成人26uuu| 一区二区免费电影久久| 欧美高清无码免费视频高清版| 男人天堂2017| 乱欲视频| a片自拍直播视频| 亚洲麻豆av一区二区| 精品视频一区二区| 国产精品美女| 黑人娇小av在线播放 | 岛国小电影| 17c在线成人免费A片观看| 综合五月天| 久操大香蕉| 婷色五月| 亚洲日本成人动漫| 91精品电影18| 人人操天天爽| 欧美精品偷拍| 伦理弟一页| 国产AB视频| 欧美少妇高潮视频| 91美女精品| 欧美97在线欧| a片自拍直播视频| 人妻啪| 成人免费福利在线观看| 熟女被操视频网址| 天天操狠狠日夜夜干超碰撸com视频在线观看 |