日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

DJI Mobile SDK V5 Demo深度解析:注冊(cè)鏈路與飛控實(shí)戰(zhàn)指南

DJI Mobile SDK V5 Demo深度解析:注冊(cè)鏈路與飛控實(shí)戰(zhàn)指南 簡(jiǎn)介這是一份基于 Java 和 Kotlin 開(kāi)發(fā)的大疆移動(dòng)端 SDK Android V5 版無(wú)人機(jī)操作演示源碼面向 Android 應(yīng)用開(kāi)發(fā)者、無(wú)人機(jī)愛(ài)好者以及需要深度定制大疆功能的工程師可用于快速熟悉 SDK 接口與構(gòu)建自己的控制應(yīng)用。項(xiàng)目從界面布局到底層控制邏輯均有完整實(shí)現(xiàn)包含七百七十六個(gè) XML 配置文件、四百六十個(gè) Java 源文件、三百余個(gè) Kotlin 源文件以及 PNG、webp 圖片素材、MP3、WAV 音頻資源壓縮包共兩千個(gè)文件大小約四十四兆。項(xiàng)目中的說(shuō)明文檔提供了安裝和使用指引android-sdk-v5-uxsdk、android-sdk-v5-as、android-sdk-v5-sample 三個(gè)模塊分別對(duì)應(yīng)用戶(hù)界面、自動(dòng)飛行和示例代碼結(jié)構(gòu)清晰便于按需查閱。目前已有四百三十人學(xué)習(xí)下載通過(guò)源碼可學(xué)習(xí) UXSDK 界面模塊、AS 自動(dòng)飛行模塊和 Sample 示例的調(diào)用方式理解無(wú)人機(jī)控制、地圖組件和 HSIMarkerLayer 圖層等關(guān)鍵功能的實(shí)現(xiàn)思路。代碼開(kāi)源、可自由修改復(fù)用是無(wú)人機(jī)應(yīng)用入門(mén)與進(jìn)階的實(shí)用參考。1. 為什么說(shuō)DJI Mobile SDK V5的開(kāi)發(fā)版Demo值得先研究源碼再動(dòng)手做無(wú)人機(jī)Android端開(kāi)發(fā)最怕的不是飛行控制邏輯寫(xiě)不復(fù)雜而是SDK注冊(cè)第一步就卡住。DJI Mobile SDK Android V5開(kāi)發(fā)版Demo的設(shè)計(jì)恰好能解決你后面八成對(duì)接問(wèn)題。很多人拿到SDK直接寫(xiě)業(yè)務(wù)然后在注冊(cè)、搜索綁定、回調(diào)線(xiàn)程三個(gè)環(huán)節(jié)來(lái)回翻車(chē)耗掉一周才發(fā)現(xiàn)不如先把一個(gè)已成型的Demo源碼完整過(guò)一遍。這篇筆記會(huì)從Java和Kotlin混編的角度把V5的注冊(cè)鏈路、工程拆分、飛行控制與相機(jī)操作、高頻踩坑點(diǎn)拆開(kāi)講。適合兩類(lèi)人剛拿到開(kāi)發(fā)板想跑通首次起飛的新手以及在V4時(shí)代寫(xiě)過(guò)業(yè)務(wù)、準(zhǔn)備遷移到V5的老手。看完你能照著搭工程也能提前知道自己代碼通常在哪個(gè)環(huán)節(jié)出問(wèn)題。2. DJI Mobile SDK V5的注冊(cè)連接鏈路從App Key到設(shè)備綁定2.1 SDK注冊(cè)流程中各環(huán)節(jié)為什么不能省DJI Mobile SDK V5在真機(jī)上的啟動(dòng)流程比大部分Android藍(lán)牙SDK嚴(yán)格得多。App Key和應(yīng)用包名強(qiáng)綁定注冊(cè)回調(diào)里返回非0錯(cuò)誤碼八成問(wèn)題出在包名或簽名上。開(kāi)發(fā)版Demo把注冊(cè)放在Application里有兩個(gè)直接好處一是任何Activity啟動(dòng)前SDK已初始化二是注冊(cè)狀態(tài)全局可查不必每個(gè)頁(yè)面重復(fù)判斷。實(shí)際代碼寫(xiě)起來(lái)不長(zhǎng)class App : Application() { override fun onCreate() { super.onCreate() initSdk() } private fun initSdk() { // 注冊(cè)App Key回調(diào)里只更新全局狀態(tài)不彈UI SDKManager.getInstance().registerApp(this, object : SDKManager.Callback { override fun onRegisterSuccess() { SdkState.registered true } override fun onRegisterFailure(errorCode: Int) { SdkState.registered false Log.e(SdkRegister, errorCode$errorCode) } }) } }邏輯說(shuō)明這段代碼的思路是注冊(cè)結(jié)果先落全局狀態(tài)主界面啟動(dòng)時(shí)再讀取。參數(shù)上registerApp第一個(gè)參數(shù)傳Application自身第二個(gè)參數(shù)是注冊(cè)回調(diào)。成敗都要把errorCode打日志這個(gè)錯(cuò)誤碼是后續(xù)排查的核心線(xiàn)索。onRegisterSuccess只表示SDK完成了App Key認(rèn)證不表示數(shù)據(jù)鏈路已經(jīng)連通所以這里不用做任何跳轉(zhuǎn)。這里有個(gè)邊界情況容易忽略App Key校驗(yàn)走公網(wǎng)首次注冊(cè)可能因?yàn)榫W(wǎng)絡(luò)代理、路由器攔截等原因失敗重試一次就通過(guò)。開(kāi)發(fā)版Demo通常不寫(xiě)重試邏輯但我建議在自己的工程里包一層最多兩次重試的注冊(cè)方法戶(hù)外調(diào)試會(huì)很受用。另外多說(shuō)一句V5和V4的注冊(cè)流程表面上很像但內(nèi)部簽名驗(yàn)證邏輯換過(guò)一套V4時(shí)期能用的調(diào)試技巧比如直接替換debug簽名在V5上未必生效。開(kāi)發(fā)版Demo的價(jià)值就在這里它把所有可變的配置項(xiàng)固定成了你自己的包名和簽名組合照著改參數(shù)就能跑通。注冊(cè)成功后才能觸發(fā)設(shè)備搜索綁定。這個(gè)順序是SDK內(nèi)部強(qiáng)制的沒(méi)注冊(cè)成功就調(diào)用搜索回調(diào)會(huì)一直掛在空狀態(tài)。Demo入口頁(yè)一般做成收到注冊(cè)成功回調(diào)后才把連接設(shè)備按鈕置為可點(diǎn)。2.2 searchAndBind的觸發(fā)時(shí)機(jī)與Product對(duì)象獲取拿到飛行器對(duì)象是后續(xù)一切操作的前提。DJI Mobile SDK V5的標(biāo)準(zhǔn)鏈路是遙控器連上手機(jī)、飛行器開(kāi)機(jī)、發(fā)起搜索綁定、回調(diào)返回Product實(shí)例。這個(gè)Product是飛行控制、相機(jī)、圖傳等模塊的共同入口。常見(jiàn)的封裝是單獨(dú)一個(gè)管理類(lèi)public class ProductManager { private Product current; public void bind() { SDKManager.getInstance().searchAndBind(device - { current device; if (current ! null) { current.connect(); } }); } public Product get() { return current; } }邏輯說(shuō)明searchAndBind的入?yún)⑹腔卣{(diào)返回布爾值表示是否找到設(shè)備。把Product保存在單例類(lèi)里各個(gè)頁(yè)面就不必反復(fù)搜索。參數(shù)上要注意該方法要求飛行器與遙控器之間已經(jīng)建立數(shù)據(jù)鏈路使用開(kāi)發(fā)板直連時(shí)要用USB線(xiàn)連飛行器否則回調(diào)返回false。拿到Product之后還需要注冊(cè)連接狀態(tài)訂閱。V5 SDK的連接狀態(tài)回調(diào)是全局的不建議掛在某個(gè)Activity里。我的習(xí)慣是單獨(dú)寫(xiě)一個(gè)ConnectionMonitor在應(yīng)用級(jí)注冊(cè)頁(yè)面銷(xiāo)毀時(shí)也不要反復(fù)注冊(cè)。訂閱代碼類(lèi)似這樣SDKManager.getInstance().addConnectionStateCallback { isConnected - runOnUiThread { if (isConnected) { // 刷新UI為已連接 } else { // 提示設(shè)備斷開(kāi) } } }邏輯說(shuō)明回調(diào)線(xiàn)程不保證在主線(xiàn)程所以用runOnUiThread包裹UI操作。參數(shù)上isConnected只代表數(shù)據(jù)鏈路是否通不能代表固件健康固件問(wèn)題要等FlightController狀態(tài)回調(diào)來(lái)判斷。如果搜索綁定總是失敗先不要懷疑SDK觀察遙控器屏幕有沒(méi)有提示USB已連接。很多Android設(shè)備第一次插入時(shí)需要授權(quán)USB調(diào)試權(quán)限這個(gè)彈窗不點(diǎn)掉SDK即使搜索到也會(huì)立刻斷開(kāi)。到這一步注冊(cè)、綁定、訂閱的主干鏈路閉環(huán)了后面飛行控制和相機(jī)模塊都建立在這條鏈路上。3. 搭建Demo工程Java與Kotlin共存的模塊劃分3.1 最小工程結(jié)構(gòu)與Gradle依賴(lài)選擇標(biāo)題里的Java和Kotlin不是花架子。DJI Mobile SDK V5底層是Java官方示例偏向Java但新業(yè)務(wù)團(tuán)隊(duì)寫(xiě)Kotlin更順手。開(kāi)發(fā)版Demo的典型解法是SDK封裝層保持Java業(yè)務(wù)層用Kotlin。這樣封裝層能和SDK類(lèi)型系統(tǒng)無(wú)縫對(duì)接業(yè)務(wù)層寫(xiě)起來(lái)省代碼。我自己的工程目錄習(xí)慣是這樣分java/sdk注冊(cè)管理、Product管理、日志管理這一層不依賴(lài)任何UI。kotlin/ui主界面、飛行控制界面、相機(jī)界面只調(diào)用封裝層。kotlin/vm各個(gè)界面的ViewModel業(yè)務(wù)狀態(tài)在這里流轉(zhuǎn)。Gradle里DJI SDK的引入方式不同版本差異很大有給aar的也有給遠(yuǎn)端坐標(biāo)的。這里只示意一段最小依賴(lài)dependencies { implementation org.jetbrains.kotlin:kotlin-stdlib:1.8.0 implementation androidx.appcompat:appcompat:1.6.1 implementation com.google.android.material:material:1.9.0 }邏輯說(shuō)明kotlin-stdlib是Kotlin工程的運(yùn)行時(shí)依賴(lài)版本跟隨你用的Gradle Kotlin插件appcompat和material負(fù)責(zé)基礎(chǔ)主題與控件。參數(shù)上注意SDK的minSdk要求V5一般要求Android 6.0以上project里defaultConfig最好保持一致避免低端機(jī)在SDK初始化時(shí)直接閃退。引入aar后Jetifier的開(kāi)關(guān)也要確認(rèn)否則老SDK包里的support庫(kù)引用轉(zhuǎn)換不過(guò)去。還有一個(gè)經(jīng)常翻車(chē)的位置是AndroidManifest的App Key配置很多開(kāi)發(fā)者把meta-data寫(xiě)進(jìn)activity節(jié)點(diǎn)結(jié)果注冊(cè)永遠(yuǎn)失敗。正確位置是application節(jié)點(diǎn)下application android:name.App android:usesCleartextTrafficfalse meta-data android:nameDJI_APP_KEY android:value替換為你的AppKey / /application邏輯說(shuō)明meta-data的name固定value對(duì)應(yīng)開(kāi)發(fā)者后臺(tái)生成的那串Key。usesCleartextTraffic在Android 9以上會(huì)影響SDK內(nèi)部的部分本地通信如果后面要拉圖傳本地預(yù)覽流建議用networkSecurityConfig做白名單而不是直接給整個(gè)應(yīng)用開(kāi)明文。3.2 Kotlin調(diào)用Java回調(diào)時(shí)泛型與空安全的處理Kotlin與Java互操作在這里最容易出錯(cuò)的是平臺(tái)類(lèi)型。Java方法沒(méi)有標(biāo)注NonNull或NullableKotlin編譯器把返回值當(dāng)平臺(tái)類(lèi)型編譯期不做強(qiáng)制判斷運(yùn)行期依然可能拋空指針。飛行控制代碼里一旦NPE出現(xiàn)的位置和時(shí)機(jī)無(wú)法預(yù)估。所以我在封裝層對(duì)SDK返回對(duì)象一律顯式判空。以取飛行控制器為例fun getFlightController(): FlightController? { val product ProductManager.get() ?: return null return product.getFlightController() }邏輯說(shuō)明ProductManager.get()返回的平臺(tái)類(lèi)型在Kotlin里用?:轉(zhuǎn)成安全調(diào)用。參數(shù)上注意getFlightController本身也可能返回null比如當(dāng)前產(chǎn)品不帶飛控能力。拿到FlightController以后調(diào)用具體方法前還要檢查連接狀態(tài)因?yàn)樵O(shè)備斷開(kāi)后對(duì)象引用非空底層鏈路已經(jīng)不可用。另一個(gè)互操作坑是泛型回調(diào)。SDK里常見(jiàn)Callback 接口Java側(cè)實(shí)現(xiàn)體會(huì)自動(dòng)處理泛型Kotlin側(cè)用匿名對(duì)象實(shí)現(xiàn)時(shí)若類(lèi)型對(duì)不上回調(diào)會(huì)被SDK內(nèi)部走錯(cuò)誤分支。我建議在Java封裝層多做一層適配把泛型接口收斂成業(yè)務(wù)語(yǔ)義明確的普通接口。public interface DeviceConnectListener { void onDeviceConnected(); void onDeviceDisconnected(); }把SDK里的泛型回調(diào)在Java層適配成這個(gè)Kotlin端只需要用lambda實(shí)現(xiàn)兩個(gè)方法。這層適配不復(fù)雜但能把大半空安全與泛型問(wèn)題擋在外面也能讓封裝層更容易寫(xiě)單元測(cè)試。Demo里尤其值得保留這層因?yàn)樗故镜募仁墙Y(jié)構(gòu)也是踩坑后的解法。4. 核心功能模塊設(shè)計(jì)與實(shí)現(xiàn)飛行控制與相機(jī)的關(guān)鍵鏈路4.1 飛行控制模塊狀態(tài)機(jī)判斷與起飛降落飛行控制是Demo最核心的部分也是最容易出事故的部分。DJI Mobile SDK V5里飛行控制集中在FlightController對(duì)象上所有命令異步執(zhí)行回調(diào)只表示SDK是否收下指令不代表飛行器已經(jīng)完成動(dòng)作。這個(gè)區(qū)別會(huì)直接影響你后續(xù)狀態(tài)機(jī)設(shè)計(jì)。起飛命令的常見(jiàn)寫(xiě)法fun takeOff() { val controller getFlightController() ?: return val state controller.getState() ?: return if (state.isFlying) { toast(飛行中) return } controller.startTakeoff(object : CommonCallbacks.CompletionCallback { override fun onSuccess() { // 指令已下發(fā)等狀態(tài)回調(diào)確認(rèn) } override fun onFailure(error: Error) { logError(error) } }) }邏輯說(shuō)明先判空再查狀態(tài)最后發(fā)指令。isFlying判斷防止重復(fù)起飛。參數(shù)上CompletionCallback里的Error對(duì)象帶錯(cuò)誤碼和描述排查問(wèn)題時(shí)優(yōu)先看錯(cuò)誤碼。startTakeoff的onSuccess不要當(dāng)成起飛成功真正判斷要看后面狀態(tài)訂閱里isFlying從false變true。降落比起飛更值得較真。如果航線(xiàn)任務(wù)還在執(zhí)行直接請(qǐng)求降落會(huì)被SDK駁回。Demo里我會(huì)把所有降落請(qǐng)求收斂到一個(gè)safeLanding方法里fun safeLanding() { val controller getFlightController() ?: return if (controller.isWaypointMissionRunning()) { controller.stopWaypointMission(object : CommonCallbacks.CompletionCallback { override fun onSuccess() { controller.startLanding(landingCallback) } override fun onFailure(error: Error) { logError(error) } }) } else { controller.startLanding(landingCallback) } }邏輯說(shuō)明先判斷航點(diǎn)任務(wù)是否在跑在跑就先停再降沒(méi)跑就直接降。參數(shù)上isWaypointMissionRunning要在設(shè)備綁定狀態(tài)下調(diào)用否則返回不可用。不管是哪條路徑降落完成都要等到狀態(tài)訂閱里isLanding變化不要?jiǎng)偘l(fā)完指令就執(zhí)行斷電收槳那會(huì)直接摔槳。這里補(bǔ)充一個(gè)狀態(tài)機(jī)設(shè)計(jì)的建議不要在每個(gè)按鈕點(diǎn)擊方法里單獨(dú)判斷狀態(tài)而是把當(dāng)前是否可起飛、是否可降落、是否可拍照統(tǒng)一放到一個(gè)ViewModel的StateFlow里按SDK狀態(tài)回調(diào)更新。這樣UI層只管訂閱狀態(tài)判斷只有一個(gè)出口邏輯不容易出現(xiàn)分歧。4.2 相機(jī)控制與圖傳預(yù)覽關(guān)鍵參數(shù)與線(xiàn)程切換相機(jī)模塊需要優(yōu)先考慮的是模式切換時(shí)機(jī)。拍照前必須先把相機(jī)切到拍照模式錄像前切到錄像模式模式切換是異步的必須等成功回調(diào)后再發(fā)下一步指令。camera?.setMode(CameraMode.SHOOT_PHOTO, object : CommonCallbacks.CompletionCallback { override fun onSuccess() { camera?.startShootPhoto(object : CommonCallbacks.CompletionCallback { override fun onSuccess() { // 拍照指令已下發(fā) } override fun onFailure(error: Error) { logError(error) } }) } override fun onFailure(error: Error) { logError(error) } })邏輯說(shuō)明setMode成功回調(diào)里再發(fā)startShootPhoto兩層嵌套安全但是不夠優(yōu)雅Demo里可以保留生產(chǎn)項(xiàng)目建議換成狀態(tài)機(jī)。參數(shù)上SHOOT_PHOTO模式不是所有相機(jī)都支持比如熱成像相機(jī)或某些變焦機(jī)型正式產(chǎn)品要按機(jī)型處理Demo可以先忽略。圖傳預(yù)覽流是另一個(gè)高頻問(wèn)題。V5的圖傳數(shù)據(jù)通過(guò)VideoFeeder監(jiān)聽(tīng)拿到數(shù)據(jù)后調(diào)SurfaceHolder繪制。這塊的線(xiàn)程要求很?chē)?yán)格VideoDataListener回調(diào)頻率高不要在回調(diào)里做JSON序列化、日志打印或任何分配內(nèi)存的操作否則幀率會(huì)肉眼可見(jiàn)地掉。VideoFeeder.getInstance().getPrimaryVideoFeed().addVideoDataListener((data, size) - { // 這里只做繪制不做耗時(shí)操作 });邏輯說(shuō)明addVideoDataListener的入?yún)⑹菙?shù)據(jù)和長(zhǎng)度回調(diào)頻率高繪制實(shí)現(xiàn)要直接操作Surface。參數(shù)上注意在頁(yè)面銷(xiāo)毀時(shí)移出監(jiān)聽(tīng)不然后臺(tái)線(xiàn)程還在拉流會(huì)引發(fā)內(nèi)存抖動(dòng)。SDK的圖傳數(shù)據(jù)是私有格式不要試圖自己去解碼用SDK配套的渲染接口即可。媒體文件落盤(pán)也需要提前規(guī)劃。拍照文件默認(rèn)存到機(jī)身SD卡Demo可用MediaManager拉取縮略圖列表。緩存目錄建議指向應(yīng)用私有目錄不要寫(xiě)到公共下載目錄省掉存儲(chǔ)權(quán)限的申請(qǐng)。這個(gè)細(xì)節(jié)會(huì)讓演示時(shí)省很多口水。5. DJI Mobile SDK V5 Demo開(kāi)發(fā)避坑注冊(cè)失敗、連接掉線(xiàn)與回調(diào)不觸發(fā)5.1 坑一真機(jī)注冊(cè)一直報(bào)包名不匹配現(xiàn)象代碼和配置都看著沒(méi)問(wèn)題同事電腦上注冊(cè)成功自己電腦上一模一樣的工程就是注冊(cè)失敗錯(cuò)誤碼指向包名不對(duì)。原因開(kāi)發(fā)者后臺(tái)創(chuàng)建應(yīng)用時(shí)填的包名和當(dāng)前AndroidManifest里的applicationId不一致。多數(shù)團(tuán)隊(duì)里release和debug用不同簽名后臺(tái)卻只登記了一個(gè)簽名指紋于是debug包一直失敗。解決先核對(duì)后臺(tái)包名再看build.gradle里applicationId最后確認(rèn)簽名指紋是不是和后臺(tái)一致。三步按順序查不要只盯著meta-data里的App Key。這是最典型的看起來(lái)是配置問(wèn)題其實(shí)是簽名問(wèn)題的案例血淚經(jīng)驗(yàn)。5.2 坑二searchAndBind搜不到設(shè)備現(xiàn)象飛行器開(kāi)機(jī)、遙控器也連了手機(jī)日志沒(méi)有任何錯(cuò)誤但searchAndBind回調(diào)返回false產(chǎn)品始終為null。原因第一次連接時(shí)系統(tǒng)彈了USB調(diào)試授權(quán)框沒(méi)人點(diǎn)確認(rèn)或者手機(jī)只認(rèn)了充電模式數(shù)據(jù)通路沒(méi)建立。這個(gè)問(wèn)題在臺(tái)架測(cè)試時(shí)不容易發(fā)現(xiàn)因?yàn)閼?hù)外頂著太陽(yáng)看不清屏幕就漏點(diǎn)了。解決把手機(jī)調(diào)成文件傳輸模式重新插拔一次數(shù)據(jù)線(xiàn)確保授權(quán)彈窗被點(diǎn)掉。如果還不行檢查遙控器固件和SDK版本是否匹配。這里的坑不在代碼在操作流程所以我會(huì)在Demo的連接頁(yè)放一個(gè)USB連接檢查按鈕把當(dāng)前連接模式顯式顯示出來(lái)。5.3 坑三命令回調(diào)不觸發(fā)像石沉大?,F(xiàn)象點(diǎn)擊起飛后既沒(méi)有onSuccess也沒(méi)有onFailure日志被吞掉整個(gè)命令沒(méi)有反饋。原因回調(diào)發(fā)生在非主線(xiàn)程而主線(xiàn)程此時(shí)卡死或該回調(diào)被SDK內(nèi)部用于同步處理在你當(dāng)前調(diào)用時(shí)機(jī)下被忽略了。某些SDK版本里連續(xù)多次調(diào)用同一個(gè)命令超時(shí)后只回調(diào)最后一次。解決在回調(diào)入口打一套時(shí)間戳日志先確認(rèn)回調(diào)線(xiàn)程。把超時(shí)邏輯做成最外層保障比如3秒沒(méi)有onSuccess就置為失敗不要干等。這條解決思路在Demo里值得直接寫(xiě)進(jìn)基類(lèi)回調(diào)讓所有命令統(tǒng)一走超時(shí)處理避免把SDK當(dāng)黑匣子。5.4 坑四Kotlin lambda捕獲過(guò)期Activity現(xiàn)象飛行狀態(tài)日志一直正常但UI上的高度、速度長(zhǎng)時(shí)間不刷新甚至偶發(fā)崩潰。原因lambda捕獲了Activity實(shí)例Activity重建后匿名對(duì)象還持有舊引用更新的全是舊界面。這在Kotlin里比Java更容易寫(xiě)出來(lái)因?yàn)閘ambda隱式捕獲太自然了。解決UI更新前統(tǒng)一走Lifecycle組件讓回調(diào)只更新ViewModel不直接碰Activity必須碰UI時(shí)用WeakReference。Demo里如果看到了好解決但更推薦從一開(kāi)始就約定所有SDK回調(diào)只做狀態(tài)更新不直接操作View。5.5 坑五圖傳預(yù)覽黑屏但日志無(wú)異?,F(xiàn)象進(jìn)入相機(jī)頁(yè)面后Surface黑屏日志沒(méi)有任何錯(cuò)誤飛行控制正常。原因SurfaceView的surfaceCreated回調(diào)時(shí)序沒(méi)處理好圖傳數(shù)據(jù)被綁定到了還沒(méi)準(zhǔn)備好的Surface上或者頁(yè)面重建后Surface被銷(xiāo)毀但舊的VideoDataListener還在往舊Surface上寫(xiě)。解決在surfaceCreated之后再去綁定VideoFeedsurfaceDestroyed時(shí)先移除監(jiān)聽(tīng)再釋放Surface。這個(gè)坑在普通App開(kāi)發(fā)里完全不存在只有做圖傳渲染才會(huì)遇到建議把Surface的生命周期處理單獨(dú)抽成一個(gè)類(lèi)不要散落在Activity里。6. 從Demo到可用產(chǎn)品日志分級(jí)、臺(tái)架測(cè)試與斷線(xiàn)重連驗(yàn)證Demo跑通只代表功能鏈路通了離產(chǎn)品還差一層驗(yàn)證。這里分享三個(gè)我常用的手段。第一日志分級(jí)。把SDK日志等級(jí)調(diào)到DEBUGTag統(tǒng)一前綴然后過(guò)濾查看。起飛、拍照、圖傳每類(lèi)操作都單獨(dú)打點(diǎn)方便連續(xù)調(diào)試。用命令行過(guò)濾能少翻很多無(wú)用的系統(tǒng)消息。adb logcat -s SdkRegister:D DJI_SDK:V *:S這條命令只保留SdkRegister和DJI_SDK兩個(gè)Tag的日志其他全部靜音。邏輯上是為了把SDK內(nèi)部狀態(tài)和業(yè)務(wù)日志隔離開(kāi)參數(shù)上SdkRegister是我自定義的業(yè)務(wù)Tag實(shí)際使用時(shí)換成你工程里的Tag名。第二臺(tái)架測(cè)試。把槳葉拆掉用綁帶把機(jī)架固定在工作臺(tái)上。起飛指令照發(fā)觀察是否有離地趨勢(shì)。關(guān)鍵不是看飛機(jī)動(dòng)不動(dòng)而是驗(yàn)證回調(diào)時(shí)序isFlying狀態(tài)字段有沒(méi)有按預(yù)期跳變onSuccess和狀態(tài)回調(diào)的先后順序?qū)Σ粚?duì)。這一步能暴露大量異步問(wèn)題。第三斷線(xiàn)重連驗(yàn)證。直接關(guān)掉遙控器電源等三秒再打開(kāi)看Product是否重建、訂閱是否恢復(fù)、UI狀態(tài)是否跟隨變化。這個(gè)流程建議寫(xiě)成檢查清單每輪改動(dòng)都跑一遍。我記得某次戶(hù)外演示開(kāi)發(fā)好的App第一次試飛很順利第二次開(kāi)機(jī)后圖傳一直黑屏最后發(fā)現(xiàn)是Surface重建后VideoFeed沒(méi)重新綁定。這個(gè)bug在臺(tái)架上根本觸發(fā)不了只有真機(jī)斷線(xiàn)重連才復(fù)現(xiàn)。從那以后我把斷線(xiàn)重連納入必測(cè)項(xiàng)。希望這篇筆記里的鏈路拆解和踩坑記錄能幫到你讓你的DJI Mobile SDK V5開(kāi)發(fā)版Demo少走幾步彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产真乱mangent| 国产精品伦理| 91老司机视频| 久久久久成人蜜桃精品| 精品免费成人久久| 91超级碰碰碰| 操熟女91| 91综合在线| 久久成人东京热人妻| 国产精品久久久久中文字幕| 青青草久草AV| 夜夜草网站| 九色 蝌蚪 熟女自| 亚洲一区日韩| 新怡红院| 99精品热| 五月天伊人网| 极品少妇99| 插入逼91| 亚州综合AⅤ| 人人妻碰人人免费| 在线视频一区二区传媒| 色婷婷九月天天综合| 骚女高跟AV在线| 欧美性爱日韩性爱| 88在线一区二区三区| www黄片免费看com| 久久婷婷一区| 992这里有精品| 欧美丰满少妇交换91欧美精品| 人人摸人人干人人拍97| 色狠狠一区二区三区香蕉| 亚洲色欲天天人妻无码系列专区| 亚洲欧美综合| 亚洲黄色网址| 91久久99久久91熟女精品| 女优大全 - 91n| 五十路熟女工口| 无码精品人妻一区二区三区妖精 | 大香蕉乱级| 黄色不卡视频| 青青草在线视频欧美| 日韩A优精品在线观看| 中文一区在线日| 99爱爱| 天天看片青娱乐| 成 人 影视 一区 二区 三区 四区| 九九九精品成人免费视频小说| 欧美伦乱爱| 凸凹视频在线观看| 97在线视频观看| aaa淫乱视频| 日韩一级二级三级免费看完整版国语版 | 日韩免费中文字幕视频| 欧美男人亚洲天堂| 九九内射在线| 国产成人午夜视频网址| 亚洲色性| 老熟妇综合| 亚洲少妇综合在线播放| 欧美色院| 亚洲最大的黄色电影网站。| 国产无遮挡| 日韩av不卡在线看| 性一级黄色录像片网站导航| 日本久久综合| 欧美淫穴| 狠狠色综合网| 欧亚成人| 日韩国产精品人妻无码久久久| 性爱AV天堂| 天天干天天拍| 精品中文字幕第一页| 成人青青草原伊人| 国产二区三区粉嫩在线| 人人操AV| 凹凸视频在线观看伊人| 午夜福利一区二区影院| 亚洲AV永久无码精品成人调教| 亚洲va综合va国产va中文| 亚洲国产av中文字幕久久| 金典av| 久久久久国产一区二| 欧美在线第五页| 国产少妇肉丝在线观看| 91丨九色丨国产丨人妻在线| 久久久久96| 久9久| 国产一区二区精品久久99| 另类图片综合| 成人亚欧免费视频| 国产一区二区二区按摩精品啪视频| 欧美日韩青操| 日本999精品| 日本99视频| 国产麻豆福利av在线播放| 久久免费少妇| 久久少妇| 人人人摸人人| 精品九九九| 午夜噜噜噜| 久久亚洲色图中文字幕| 国产视频大全| 秋霞一区二区三区四区五区六区七区| 色女综合| 在线97在线| 嗯嗯啊啊啊好舒服| 亚洲大色堂| 中日韩久久人妻一区二区| AV色天香在线| 久久久久13| 久操综合在线| 少妇毛片久久| 亚洲色图久久成人| 一道本东京热加勒比一区二区三区 | 亚洲AV无码AV吞精久久久久| 思思视频免费看网站| 96超碰网| 蜜桃臀av一区二区| 人人妻人人色一区二区三区| 天天天堂影视日韩亚洲91| 久久综合女优| 欧洲小说色图视频另类| 黄色一级视| 秋霞久久亚洲精品成人| 东京热视频网| 综合夜夜| 日韩av不卡在线观看| 亚洲色色探花| 久草视频分类在线| 欧美做爰无码A片视频| 大香蕉专区| 国产A v无码专区| 操操逼操操逼操操逼逼| 午夜福利视频在线一区| 日韩九区| 美女啊啊啊啊啊啊啊| 这里都是精品在线观看| 国内亚洲精彩视频在线| 国产一级作爱毛片| 插日本熟女视频| 午夜福利免费福利视频| 黄页网站免费高清在线观看| 翔田千里av一区二区三区| 国产玖玖| 色在线69堂| 欧美综合色| 四虎国产精品永久在线囯在线| 日本成a人v网站在线观看| 伊人丁香五月婷婷| 成人黑料社久久| 色老汉玖玖爱| 欧美日韩大陆黑人少妇99| 人乳av| 久久精品店| 日韩精品资源专区二区| 加勒比久久综合网高清| 欧美 传媒 麻豆 日韩 偷拍| 九色 蝌蚪 熟女自| 国产精品永久免费10000| 自拍鲍鱼一区在线高清观看免费| 啊啊啊啊啊操我视频| 国产第二页| 日韩精品啪啪啪| 色激情综合网站| 精品国产人成在线| 久久国产99精品72福利| 精品久久久久综合无码| www.伪伪| 精品国产72| 欧美综合天堂| 午夜影美女日鸡鸡天天视频国产| 9/A片| 精品女同一区| 久久国产热视频97电影| 国产最新AV| 人妻素股| 久久久久亚洲av综合波多野制衣| 操逼网站视频漫画国产| 亚洲高清少妇| 中文字幕av亚洲精品| 国产强奸超碰AV| 欧美三级不卡| 97手机日韩| AA特级绝黄| 高树玛利亚无码流出| 爱丝福利| 国内精品伊人久久久久影院会| 综合网亚| 91被操| 久久久九九网站| 久久久99999久网站| 亚洲性天堂| 日韩不卡毛片Av免费高清| 偷拍欧美激情| 综合色91| 亚洲欧美激情另类色图| 日韩人妻无码不卡网站| 欧美一级黄色18片免费看| 狠狠夜色午夜久久综合在线| 岛国免费视频在线| 91啪9色| 国产久久久| 久久这里只精品99re66图| 欧美一区二区三区成人性生活| 91福利网在线观看| 嗯嗯啊中文字幕| 日韩AV噜噜噜一区二区三区四区 | 五月天色图影视| 亚洲自拍青操视频| 日本精品一区二区中文字幕| 超碰欧美97资源| 成年人三级黄色片视频| 干B| 国产女s强制榨精视频| 日韩有码回春沙龙第一页| 国产按摩一区二区三区| 黄站在线免费观看| 麻花传媒免费网站在线观看| 锕锕好爽 死我在线观看| 自拍偷拍 高清无码| 伊人成人情色综合| 久久国产热视频97电影| 久久久天美| 国产精品麻豆视频网站| 极品久久久久久久久久久久久久| 天堂中文日本在线观看| 久久久久久久久久久久久久久久9| 国产亚洲禁久一区二区 | 亚洲双插| 欧美丝袜中文字幕07在线| a啊啊啊啊啊啊啊啊一区二区| 啊啊啊啊在线播放| 91色射| 国产精品自拍视频| 中文字幕乱亚洲美女精品一区| 天天亚洲| 欧美日韩色综合网| 波多野结衣之双飞调教在线播放| 26uuu最新| 日韩视频啪啪| 青青草视频爽一爽| 午夜久久一区二区无码中出 | 国产精品无码AV网站| 一级片在线观看高清无码| 手机看片日韩人妻| 91九九| 超碰成人人人爽人人爽| 欧美激情亚洲| 青青国产精品在线| 97超碰色中文字幕| 久99热| 成·人免费午夜在线观看| 超碰久久网| 亚洲日韩久久精品一区| 亚洲日本大香蕉1| 欧美色女人| 亚洲中文一区二区三区| 色操逼网| 欧美一级久久久久久久大片动画| 亚洲日韩成人性爱视频| 久久超碰亚洲人| 色妇综合网| 天天干天天操天天干天天操| 很黄很污的免费网站| 久久久偷拍| 欧美大香蕉专区网| 亚拍在线| 在线视频免费播放一区| 日韩中文9| 免费看黄视频亚洲网站| 日本黄色裸日本黄色裸体| 啊啊啊想要| 一区二区三区精品黑丝白丝酒店对鸡 | 蜜桃视频啊啊啊啊| 国产一区二区三区免费视频在性观看 | 日本色色色色色视频| 天天天肏屄欧美| 啊啊啊想要| 亚洲另类综合欧美| 狠狠色噜噜狠狠狠狠2018| 九九99精品视频在线观看| 日本高清加勒比| 永久免费发布性爱网| 久久精品电影| 欧美性xxxxx狂欢| 91美女視頻| 殴美日韩m| 91精品久久久久久77777| 老司机福利青青草| 中文字幕三四五区| 午夜福利一区二区三区四区五区色婷婷| 97视频网站在线观看| 国产伦乱91| 日韩国产欧美伦理在线| 国产精品网址| 十八禁av无码免费网站APP| 91暧暧| 97久久超碰日韩精品| 婷婷五月天色色| 国产传媒操逼视频| 影视综合无码少妇| 黑人狂躁日本妞一区二区三区| 亚洲黄色电影| 69精品人人人人| 日本精品九九九| 好屌色综合| 久久大精品乱码视频人妻熟女| AV一二区| 综合国产97| 丰满人妻一区二区三区在线| 97精品一二区| 久久久女人| 久久久无码国精品无码三区三区| 人妻熟女午夜精品在线| 日本大片日本一区二区免费高清| 天天肏美女| 91精品电影18| 国产精品久久久久久夜夜夜| 精品人妻夜夜草| 激情图片伦理国产一区二区日韩| 久久亚洲天天做| 日本中文字幕高跟| 91成人社区| 2000亚洲男人天堂| 女人天堂网| 激情文学亚洲| 97日韩| 人妻三级在线中文字幕| 易易A毛视频| 欧美1区二区三区公司| 麻豆三极片| 69av一区二区三区| 91成人久久| 国产亚洲禁久一区二区| 久久超碰爱| 强奸少妇AV导航网| 试看日韩黄片| 2019久久久久久久久福利| 两性色网| 亚洲色图超碰在线| 中文字幕天天操| 久久宗合亚洲| 97日韩欧美| 国产精品爱欲| 六月婷婷综合| 91艹逼精品| 超碰偷拍| aa片毛片| 国产久久久久久久久一区二区 | 97在线观看免费视频l| 久久九九热| 中文字幕精品探花视频| 精品久久久久久中文| 日日夜夜天天| 精品人妻一二三四区视频| 青青在线视频免费| 很黄很色的视频在线观看| 日韩精品一区二区三区色欲| 久久鲁夜| 99re这里只有精品9| 国产 日韩 欧美高清| 97人人干| 欧美超碰人妻97| 91视频在线观看18| 国产九九九九九九九九| 欧美狠狠操| 亚洲欧美变态| 欧美日韩不卡a片| 五月丁香色婷婷| 久久亚码| 欧美一二三级精品在线| 久久免费中文字幕在线观看| 综合色久欲| 岛国激情视频在线观看| 亚欧精品久久久久久久久久久| 色制服丝袜夫妻av一区| 国产免费一区2区3区| 色小视频蜜乳| 亚洲大色鬼| 日韩AV无码网站| 九九热精品| 麻豆区久久久久亚| 日韩精品一区二区日韩| 日韩精品人妻系列无码天堂| 亚洲高清色综合| 啪一啪免费视频| 成人久久精品| 男女日B国产| 久久天堂婷婷网| 国产精品对白自产拍| 美女极品一区二区三区| 中文字幕精品久久久久人妻红杏ⅰ| 精品福利| ,国产乱人伦精品一区二区三区| 亚洲好色人妻| 秋霞视频一区二区| 日天天九九天堂666| 国产懂色精品国产av| 狠狠2050在线观看| 天天天天天天天天天天干美女| 丰满精品人妻少妇久久字幕| 韩国黄片aaaa| 亚欧美综合网。| 极品尤物自安慰| 神马久久啊啊| 久久久久成人亚洲国产| 日本淫穴在线| 人人操我人人干| 欧美|91色综合| 日韩本不卡视频在线观看| 午夜福利精品| 日韩少妇无吗| 亚洲天堂7777| 国产91丝袜在线播放蜜月| 加勒比久久综合网高清| 99热婷婷一区二区三| 色婷婷激情| 国产搭汕a级片| 中文字幕在线播放2中文字幕在线观看2| 国产9l 大屁股| 艹我哪美一区无码| 91av熟女人妻| 天天超级碰碰碰| 深田咏美亚洲精品福利社| 97se亚洲| 欧美性天天影视| 中文字幕人妻资源在线| 超碰是碰在线观看| 人妻少妇精品一区二区三区| 一区二区中文| 视频二区美腿丝袜制服人妻欧美| 久久伊人东京热| 五月丁香婷婷色| 老熟女综合| 色狠狠综合噜一二三区| 26uuu国产成人综合| 97亚洲色图| 色综合潮| 大香蕉综合在线| 免费精品无码一级毛片牛牛影视| 一区二区三区 丝袜高跟| 视频分类 国内精品| 久久久久久999| 色狠狠综合噜一二三区| 俺去俺来也在线www| 乱欲视频| 97爱啪| 美女黄页| 黄片在线免费在线观看| 日本αv| 夫妻AV网站| 精品久久久中文字幕不| 日韩操人| 手机在线播放国产福利| 久久精品一区二区| 男人天堂无码| 青青草黑寡妇男人天堂| 五月综合色| 久久精品久久九九精品| 亚洲色图欧美一区二区不卡| 蜜臀一二三区| 一区二区三区蜜桃成人撸久久东京热| 任你爽视频| 国产亚洲精品美女久久久久久2021| 992视频一区| 色九九九综合| 偷窥自拍亚洲色图| 日韩无码专区| 色欲日韩欧美在线一区| 91久久免费视频互動交流| 中文有码9| 60秒免费小视频| 熟妇高潮一区二区免费视频| 狠狠爱综合| 国产成人精品无码久久| 日韩性爱啪啪视频| 亚洲男人天堂网| 国际精品久久久| 人妻无码一区二区三区久久99| 久久成年精品| 欧美精品丝袜久久久中文字幕| 六月天婷婷| 色噜噜人妻丝袜a∨先锋影 | 久草久日| 欧美日韩另类字幕中文| 欧美熟妇亚洲版| 99re69综合| 国产原创精品| 色嘟嘟人妻天堂网| 国产成人亚洲精品自产在线| 91大学精品激情戏| 成人情色一区二区| 国产刺激视频| 五月天综合网| baisiav| 国产一区96在线| 91超级碰| 亚洲91少妇| 日本三级久| 韩日精品四区| 天美av在线观看| 国产天美欧美| 国产SV一线| 国产传媒美日韩av| 精品国产乱码久久久兰草影视| 91久久国产综合精品| 亚洲精品免费中文字幕| 日本不卡卡一区| 91女神在线视频| 亚洲国产一区二区三区在线| 亚洲国成人情色好看电影| 动漫片子网站3黄| 屌妞视频久久久久久久久久久久| 欧美日韩国产电影| 精品美女人人干| 久久久久幕乱码| 色老大| 1240青青草一区二区三区视频天爱| 天天操妹子| 午夜性生活av免费在线看| 麻豆三极片| 黄色片,com| 在线综合色| 涩涩五月天| 国产精品视频电影| 久久 久久国内精品亚洲| 亚洲乱熟女一区二区| 国产久久天堂资源| 乱伦熟女专区| 美女黄频a美女大全免费皮| 午夜爽爽爽在线观看永久入口姬片| 亚洲精品日韩国产欧美| 日本免费不卡二区| 色偷综合| 美女网站91| 国产高清精品一区二区三区毛片 | 97精品97久久| 欧美日韩传媒| 先锋激情∨在线视频播放| 日本一区二区不卡精品| 大香蕉碰碰| 亚洲黄色网址| 久久久无码视频| 日韩欧美成人性爱在线| 狠狠干综合| 日韩精品9999| 麻豆成人影音在线| 国产不卡免费在线视频| 久久免费中文字幕在线观看| 日韩人妻精品| 国产精品福利资源在线尤物| 欧美天天综| 国语av狠狠色丁香婷婷综合激情| 亚洲天堂中文字| www.狠狠| 99色在线| 无码 黑人一区二区三区| 99热综合| 美国三级日本三级久久99| 97综合网| 99激情视频| 亚洲精品一区二区三区新线路| 欧美熟女妇同| 国产精品96| 亚洲欧美在线观看免费| 91碰碰碰| 91天天爱| 亚洲欧美999| 天堂种子在线www网资源| 丁香五月大香蕉| 玖玖爱综合网| 成 人片 黄色大片| 乱理日韩中文| 欧美色图片| 色五月婷婷色| 好爽要喷了| 中文字幕日韩电影人妻| 2011国产精品| 男人的天堂va| 五月丁香久久| 9 1果冻精品视频| 国产亚洲日本精品在线| 国产又黄又爽| 日本三级日本三级99| 欧洲亚洲人人爽爽视频| 91香蕉视频在线观看免费| 久妇网| 婷婷午夜清品久久久久久久性色视频观| 看黄片视频免费| 国产第11页| 成人无码在线超碰网| 欧美三级一级| 国产精品一区二区久久精品| 91精品人妻一区二区三区蜜桃臀| 秋霞 色色| 国产夜夜操| 日韩强奸av| 人人色人人射人人妻| 亚洲天堂一区| 蜜桃精品一区二区三区ww| 中文字幕一区二区三区50路| 理论久久婷婷网 8| 欧美黄页| 东北老女人的激情视频| 高清无码在线播放网站| 人人搡人人肉久久精品| 亚洲中文国际强奸字幕| 国产精品一二三| 黄色av一区二区在线| 91麻豆天美国产欧美高潮| 国产欧美一区激情交| 亚洲久久天堂| 久久国产精品91| 婷婷超| 香港日本韩国人妇99www.wccm20| 亚洲精品性爱片| 色踪合AV| av九九| 久久的免费性爱视频| 欧美一区二区日韩传媒搭讪精品| 亚洲国产精品无码AV久久久| 精品中文一区二区| 免费黄色视频网址| 国产午夜在线观看| 午夜精品99久久久久传媒| 亚洲国产熟妇综合色专区| 国产馆极品诱惑| 99re热有精品视频国产| 夜夜騷av、一區二區| 日韩免费看在线黄色片| 伊人在线大香蕉视频久久| 中文字幕在线免费观看视频| 亚洲欧美综合| 91路www| 综合熟女| 三级激情网站| 久久久久久久久久久久97| 极品粉嫩一区二区| 午夜精品探花| 极品另类| 超碰 欧美| 精品人妻一区二区三区-国产精品| 1人人看人人摸人人操| 欧美色亚洲色| 97 九色| 天天日天天操心| 成人a级高清视频在线观看| 九九九国产精品| 图色综合网| 无遮挡h肉动漫在线观看| 成人五月天丁香激情综合| 国产精品一级二级在线| 熟妇人妻一区二区| 99精彩视频| AAAAAAAAA黄片| 97干97色| 日日夜夜骑| 91视频综合在线| 一个人在线看的黄色电影网站| 国产精品熟女丝袜一区二区| 国产9 9在线 | 亚洲| 高清视频一区| 亚洲色综网| 亚洲综合888| 抽插无码高清一区| 国产乱伦性爱区| 超碰97 线线 在现| 91狠狠狠| 天天操天天7| 91色伦综合| 内射日韩大臀美女| 一区二区三区精品黑丝白丝酒店对鸡| 蜜臀操逼黄色视频操的好爽| 黄片免费看的| 久久男人精品| 韩三级a视频在线观看| 亚洲欧美另类激情小说| 欧美色图电影| 九t超碰| 欧美第五页| 国产欧美日产一区二区三区 - 国产欧美日 | 曰本熟女视频| 日韩熟女精品无码专区一区二区 | 青青草日韩免费观看高清在线| 中文字幕在线观看第二页| 婷婷影院入口| 午夜理论片在线观看免费| 国产精品毛片?v一区二区三区 | 午夜精品人妻二区三区| 偷拍五区| 亚洲青青草| 2017天天透天天通天天擦| 操逼999| 人人爽人人精品乱人伦AV| 啊啊啊不要啊啊受不了了视频在线| 日少妇亚洲版| 亚州色站 日韩电影| 4141514逼喷水三级片| 日本免费不卡二区| 日日干夜夜操视频h| 蜜臀AV成人精品蜜臀AV久久| 中文字幕片| 1二区9| 天天舔天天日天天射| 国产久久男人天堂| 久久影视二区三区行押| 3级毛片一二| 欧亚日韩中文在线| av网站国产主播在线| 亚洲人成网站7777| 超碰国产精品久| 日本高清_区二区三区| 国产精品视频白浆免费| 探花精品视频| 极品色社| 久久鲁夜| 四季av一区二区凹凸精品小说| 熟女高潮合集-永久久久-成人AV| 一区二区三区蜜桃成人撸久久东京热 | 九九九网站| 日韩啊V| 欧美一级黄片视频在线| 中文字幕亚洲在线一区| 久久极品一区二区| 亚洲夜色在线| 91亚洲欧美色图| 91国内外在线| 青青草好吊色| 国产超碰AV在线精品| 精品一区二区综合熟妇| 日本片日本片祼观看网站在线看中文版网页在线看 | 第45页一区二区| 无码男人天堂| 麻豆精品.欧美精品.日韩精品.| 国产内射爽爽大片| 人妻系列无码专区中文有码| 91狠狠综合久久| 夜夜操av亚洲一区二区| 天天色怡春院| 九九热九九| 国产女同视频在线播放| 看一级黄色视频| 91jk色拍| 欧美亚洲涩涩| 欧美AB在线| 国产无码精品无码| 亚洲色系另类精品国产| 无码高清专| 蜜桃久久久久久久| 男人的天堂kva| 在线播放成人高清免费视频| 九九aV| 欧美色图天堂网m| 99操逼| 波多野42部无码喷潮在线观看 | 日韩成人人妻网站| 亚欧高清| 防屏蔽在线视频| 自拍亚洲综合| 免费视频在线一区二区不卡| 久久综合激情| 精国久久一区二区三区98| 爱爱啊啊啊| 九九性爱网| 亚洲色情在线影视| 自拍偷拍第26| 亚州宗合另类| 91白嫩| 手机看片1024你懂的国产| 欧美在线伊人色| 国产AV中文| 中文字幕交换人妻| 超碰97资源中文字幕| 亚洲色宗合| 九九综合久久| 中文字幕第95页| 2019天天干天天操| 久久神马影院| 成 人 A V免费视频在线观看| 五月丁香色色网| 免费99精品国产自在在线| 欧洲欧美视频一区二区| 9久久9综合| 欧美激情专区| 长长久久88视频| 欧美人妖内射| 亚洲国产激情国产av| 屁股久久久久久久久| 国产精品午夜福利亚洲综合网| 天天影视色香色欲| 日韩淫色网| 成人免费毛片| 欧美操逼视频二区| 国产精品久久妻无码网站| 极品五月天噜噜| 国产97免费视频| 国产精品电影| www亚洲欧美| 美女刺激久久国产欧美| 精品欧美乱码久| 操操AV电影| 啊啊啊啊啊啊好多水| 天天爽天天| 欲香欲色综合天天伊人| 激情小说五月天| 一区二区视频你懂的| 色黄色美女大长腿午夜视频| 超碰久久网| 亚洲无码AV九九九| av影院十区| 深爱五月天| 天天综合97| av优播| 精品国产乱码久久久久久蜜臀| 大香蕉色十月| 无码动漫av中文字幕| 亚洲成人色情五月天丁香花| 欧美操逼熟女| 久操免费电影| 青青色综合| 97碰碰日本乱偷人妻中文的| 国产强奸AV在线| 亚洲欧洲色情高清| 夜嗨影院| 日韩人妻播放| 中文字幕欧洲有码| 国产九月婷婷| 欧天美中出| 久久r精品| 五月天伊人| 国产原创剧情在线丝袜| 亚洲国产精品久久久久久久久久| 999999精品| 国产60区。| 国产精品麻豆视频网站| 国产2.3.4区| 日韩美一区| 岛国黄| 97中文字幕色| 国产精品美女久久久久AⅤ国产馆| 精品人妻15区| 情色五月天久久久| 免费精品福利在线观看| 乱欲视频| 欧美第二页午夜| 插入综合网| 北约熟女超碰| 变态另类专区| 成人综合网 欧美| 欧美啪啪女女| 波多野结衣AV无码一区| 国产精品日日摸天天碰| 九月AV| 婷婷五月丁香五月| 成人激情无码在线视频| 97超碰超| 天天天操天天天爱| 中日992视频| 另类一区| 性色综合网| 精品二区三四区五电影 | 又摸又舔在线观看网站| 探花激情视频| 中文字幕一二区二三区人妻专区| 亚洲黄色电影| 啊啊啊要高潮了| 精品无码一区二区| 五月丁香六月激情| 亚洲丝袜二区| 丝袜美腿91| 2017亚洲天堂| 人妻喷水| 啊a一区在线| 熟女乱伦二区| 成人三一级一片aaa| 91在线视频国产网站| 亚洲AV永久无码精品成人调教| 国产美女口爆吞精| 富二代亚洲精品99| 国产激情综合| 日操粉逼逼| 91香蕉视频在线观看免费| 超碰色老头| 夜夜夜夜久久久久| 麻豆伊人网| 男人天堂2019亚洲| 一级免费啪啪片| 93人人操人人| 久操网址| 日韩人妻制服丝袜av| 国产午夜精品在线观看| 久久精品黄色| 亚洲AV色图| 日韩欧美中文字亚洲慕| 成人精品欧洲亚洲| 热久久国产精品视频大陆精品| 国产成人资源| 精品久久久久久亚洲| 五月婷婷无码| 婷婷五月天成人| 99热综合| 尹人大香蕉视频在线| 日本三级韩国三级99| 99这里只有精品| 国产激情久久久| 婷婷五月av| 激情接吻视频久久久久久| 亚洲第一黄色av网站| 95自拍视频在线观看| 国产成人 综合亚洲 天堂| 久艾草在线精品视频在线观看| 一级性爱视频免费观看 | 色色色天美视频| 操逼片中文| 人人看人人摸人人色| 亚洲综合精品国产一区| 国产乱伦性爱AV| 欧美性爱三区二区| 国产伦乱91| 夜夜草网站| 黄色一级视| 深爱五月天| 大鸡巴久久久| 日韩AV色图| 97超碰免费人人性爱| 欧美激情久久久久| 妇女乱色二区| 超碰美女97| 国产精品黑人一区二区三区| 高潮毛片无遮挡高清免费| 日韩欧美aⅴ综合网站发布| 亚洲啪啪视频一区二区| 亚洲精品日日夜夜52| 激情五月激情综合网| 久久女人视频| 久久伦理视频久久大香蕉视频| 91网站18+| 日本加勒比无码专区| 天天草天天日| 久操网视频| 婷婷伊人綜合中文字幕| 婷婷伊人网| 亚洲s在线观看| 在线黄色污污网站| 亚洲欧美变态| 中文字幕国产在线天堂| 日韩无码a片| 人人射人人操人人摸| 亚洲少妇色| 日韩精品人妻中文字幕久久久| 爱爱动态试试看6 0秒| 日产成人久久| 91熟女在线| J?P?NESEHD熟女熟妇伦| 日本免费一级AAA大片器 | AAAA级日本片免费视频| 日韩精品一区二区日韩| 丝袜美腿诱惑亚洲欧美视频在线观看| 九九九久千久久激情蜜桃在线看 | 美日韩成人| 一区二区三区 丝袜高跟| 欧美日韩精品久久久久东北老熟妇| 天天影视亚洲| 日本成人A片免费看| 亚洲男人的天堂亚洲| 北京美女一区二区| 欧美日韩色| 熟妇女伦乱视频| 98色网| 国产熟女二区| 欧美性暴力| 性开放中文AV高清无码免费看| 亚洲一区二区性爱电影| AV中文在线| 成人久久久精品| 久操91视频| 97人人操人人干| 学生妹天天看| 亚欧高清| 日韩另类色图| 美国三级日本三级久久99| 97超碰磁| 99亚洲精品| 欧美丝袜美女电影一二三四区| 伊人国产成人av网站| 99热精品在线| 免费草草草草草视频| 摸奶性爱视频网站在线免费播放| 日本三级中国三级99人妇网站| 十八禁电影伊人网| 亚洲天堂一区二区久久| 最新一二三区视频| 青青青在线高清视频在线一二三四区| 高清在线不卡一区二区 视频| 久久国产精品一级二级三级| 中文字幕片| 欧美色999| 久久亚洲不卡| 国产搭汕a级片| 亚洲精品美女久久久久久久久| 日欧毛片久久| 小视频国产| 亚洲AO在线| 国产色图乱伦| 东北黄色电影| 男人亚洲天堂| 啊啊啊啊好爽好舒服一区二区易域| 最新av中文字幕高清| 91丨国产丨白浆| 亚洲AV无码乱码| 亚洲高潮少妇| 欧综合网| 亚洲精品819| 国产精品熟女一区二区三区| 国产精品交换一区二区| 九九九九亚洲| 久久久无码国精品无码三区三区| 久操视频这里只有精品| 噜噜噜狠狠色综合| 果冻传媒A片麻豆熟妇人妻| 一线黄色免费性爱片| 中文字幕在在线观看网站| 国产精品日日摸天天碰| 亚洲欧美日韩免费电影| 热久日综合| 成年人一级黄色毛片大全在线观看| 日本日日色视频| 免费黄色片。| 亚洲丰满很很操| 中文久久爆乳| 超碰久超碰久| 日本特黄f c2| 欧美v亚洲v综合v国产v妖精| 国产青视频| 久久av一级av少妇av高潮| 欧美大香蕉在线观看| 伊人精品久久网站| 久草精品一区 | 五月天婷婷色| 久久系列| 亚洲免费日韩在线一区二区| 黄片视频,下载| 97精品97久久| 91AV入口| 97在线青| 久久婷婷色| 超碰在线人人射| 天天影视射综合网| 在线观看综合精品亚洲| 欧美 色 亚洲| 日日骚 av| 717影院理论午夜伦八戒| 老熟女综合| 330Dv国产女人终合视频极品人与兽 | 国产美女高潮叫床视频| 综合 亚洲 欧美| 天天看片麻豆| 91九色网| 又大又大又大又粗爽高潮观看| 麻豆久久久久久久久丝袜| 日本精品无码三级网站| 这里都是精品| 欧美久久九九| av天堂精品久久| 亚洲黄色AV电影| 一区二区精品更新提醒| 亚洲免费人妻在| 黑人免费福利视频| 九七毛片九九毛片| 女优免费一区二区永久| 草草影院日本第一页| 欧美丝袜中文字幕07在线| 日本一天色道久久久精品视频| 色综合色欲色综合色综合色综合| 国产在线综合福利网站| 国产熟女二区| 色婷婷亚洲婷婷| 亚洲**2021在线观看| 国产97色在线 | 亚洲| 伊人影院综合是一个与深夜成人在线| 后入精品| 97在线无精品| 中文字幕人妻丝袜| 成人性爱高清视频免费看| 国产后入| 久久精品无码熟妇一区二区三区视频导航 | 欧美宗合网| 强奸熟女一区二区三区| 99青草| 激情网色| 亚洲国产丝袜熟女av | 日本一区二区亚洲综合| 亚洲少妇综合| 91色色综合| 天天日日日射| 蜜臀久久99精品久久久久久久久| 婷婷激情五月天小说网| 岛国福利在线精品播放| 夫妻天天操岛国视频| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 懂色AV蜜臀无码精品APP| 东京热毛片调教| 久久综合av| 2019AV天堂| 国产精品久久久视频| 囯产操逼片| 欧美一级黄色免费专区| 精品无av| 久久九九精品一区二区 | 人摸人人操人| 免费啪啪av| 乱伦一二三| 视频国产成人精品日本亚洲18| 国产精品毛片| 极品AV网站在线观看| WWW.加勒比人妻一区不卡.com| 久久婷婷在线观看视频| 五月天春色激情网| 中文字幕二区日韩天堂| 婷婷久久五月天| 国产 码在线成人网站| 亚洲精品中文字幕一区在线视频 | 国产久久日| 久久久久亚洲精品| 久久久久亚洲精品| 婷婷情色五月天| 日韩午夜国产| 男人的天堂在线| 久久国产精品,久久国产| 日本天天吊| 欧美 中文字幕 一区| 五月婷在线| 大香蕉97久久| 日韩精品三区四区| 国产精品久久久久久夜夜夜| 综合久欧洲| 国产精品熟女九九九| 秋霞午夜视频一区二区| 免费视频无码| 五月激情天| 色婷婷狠狠| 欧美性天天影视| 欧美一区二区在线资源| 成人热久久精品| 色亚州人久干视频在线观看免费版| 色哟哟-国产专区| 91丝袜激情在线| 四虎在线免费视频| 33044男人的天堂深夜备| 欧美性高潮在线| 美女91网站| 日韩免费簧片| 欧美日韩久久精品爱爱| 九热久| 99久久精品国产系列| 大香蕉AV丝袜| 蜜臀人妻少妇久久在线观看| 久久99国产综合精品女同| 1024人妻|