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

ARTICLE DETAIL

資訊詳情

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

Unity HybridCLR熱更新實戰(zhàn):原理、接入順序與真機排坑

Unity HybridCLR熱更新實戰(zhàn):原理、接入順序與真機排坑 我到現(xiàn)在都記得第一次線上事故的場景一個已經(jīng)過審上架的手游運營活動發(fā)獎勵的數(shù)值公式少取了一次隨機數(shù)玩家領到的獎勵高了兩倍。服務端立刻封住漏洞但已經(jīng)安裝的客戶端代碼是死的發(fā)新版要走渠道審核少則一天多則一周那幾天項目組每個人臉上都寫著焦慮。那次之后我們整個團隊把“代碼熱更新”從“以后再說”提到了“下周必須驗證”的優(yōu)先級。最后選型、驗證、接入的方案就是今天這篇要聊的 Unity HybridCLR 熱更新。如果只用一句話介紹HybridCLR 是一個基于 IL2CPP 的 C# 熱更新方案它能讓你的 Unity 項目在不重新打包上架、玩家不重新下載安裝包的情況下通過加載一段新的 C# 程序集來更新游戲邏輯。這篇文章是我自己從零把一個 Demo 工程接入 HybridCLR再逐步推進到真實項目的完整記錄。重點不是重復官方文檔而是告訴你接入順序、依賴方向、AOT 泛型問題這些文檔里不容易一次講透的東西以及我踩過的坑長什么樣。如果你是想評估熱更新方案的技術負責人、正在給老項目接熱更的 Unity 客戶端同學或者剛被分配要驗證 HybridCLR 可行性的新手這篇應該能幫你省下不少試錯時間。讀完你應該能知道它和 Lua 熱更、和 IDE 里的熱重載到底什么關系接入前工程要做什么體檢真機上跑通一個最小熱更工程需要哪幾步以及第一輪真機崩潰該怎么查。1. 為什么是 HybridCLR而不是 Lua 或者熱重載1.1 IL2CPP 把代碼焊死在哪里要理解 HybridCLR 的價值先得知道 Unity 的 IL2CPP 到底做了什么。在沒有 IL2CPP 的 Mono 時代C# 代碼會被編譯成 IL運行時由 Mono 虛擬機解釋或 JIT 編譯執(zhí)行。那個年代想在 iOS 上做熱更新很麻煩因為蘋果明確禁止應用在自己的沙盒里動態(tài)生成可執(zhí)行代碼JIT 這條路在 iOS 上基本是堵死的。IL2CPP 是把 C# 先編譯成 IL再在構建階段把 IL 轉成 C最后隨原生工程一起編譯成目標平臺的機器碼。好處是啟動快、性能好、代碼不容易被直接反編譯成原始 C#壞處也藏在這里所有 C# 邏輯都在編譯期被翻譯并“焊死”進了原生二進制運行時已經(jīng)沒有一套能把新 IL 編譯成機器碼的機制了。這就好比你把菜譜都刻成了石碑讀者只能照著石碑做菜現(xiàn)在你拿到一張新菜譜卻沒有火源也沒有翻譯想按新菜譜做菜根本無從下手。HybridCLR 做的是在 IL2CPP 旁邊補了一個“解釋執(zhí)行器”讓新拿到的 C# 程序集也就是熱更 dll里的 IL 字節(jié)碼不經(jīng)過 JIT 也能被逐條解釋執(zhí)行。1.2 它和 xLua、ILRuntime 的本質差異很多團隊第一次聊熱更新聽到的往往是 xLua、tolua或者純 C# 的 ILRuntime。這里我直接按實際感受做個比較。Lua 方案的核心是“換語言”業(yè)務邏輯不寫在 C# 里而是寫 Lua運行時由 C# 側的虛擬機解釋執(zhí)行。好處是生態(tài)成熟、很多老項目都在用代價是整個項目的核心玩法可能要從 C# 平移成 Lua維護一套雙語言邏輯團隊里每個人都要會 Lua出問題時要跨語言查堆棧代碼補全和重構也不夠舒服。ILRuntime 是純 C# 的解釋器方案不需要換語言但它和 Unity 的 AOT 世界之間隔了一層自己的運行時對某些 C# 特性的支持以及對 Unity 引擎調(diào)用、泛型、值類型結構的處理需要開發(fā)者額外注意。性能和兼容性一直在進步但遇到冷門邊界總有“為什么這里不行”的疑惑。HybridCLR 選擇的是另一條路線盡可能貼近原生 CLR 的實現(xiàn)方式在 IL2CPP 的 AOT 基礎上加一個解釋器模塊并且用“補充元數(shù)據(jù)”的方式解決 AOT 泛型缺失的經(jīng)典問題。用下來最直觀的感受是它不是讓你把邏輯翻譯成另一種語言而是讓熱更 dll 里的 C# 代碼自己跑起來和主工程的 C# 代碼寫法差別不大。對比項Lua 系方案ILRuntimeHybridCLR業(yè)務語言Lua C#C#C#與 IL2CPP 關系獨立虛擬機獨立解釋器基于 IL2CPP 補充解釋能力學習成本需要掌握 Lua較低但邊界概念多較低重點是理解 AOT 與熱更分界泛型等邊界問題不受 IL2CPP 泛型影響有自己的處理通過補充元數(shù)據(jù)解決大多數(shù)社區(qū)活躍度高但偏向舊項目中高近幾年增長很快需要客觀說的是HybridCLR 本質上是修改了 Unity 的 IL2CPP 構建鏈路Unity 版本升級、IL2CPP 內(nèi)部實現(xiàn)調(diào)整都有可能影響它。所以它不是一個“裝一次永遠不用管”的方案每次 Unity 升級或 HybridCLR 升級都要做回歸驗證。這點后面章節(jié)會細說。1.3 先理清“熱更新”和“熱重載”不是一回事熱搜詞里出現(xiàn)了不少和熱更新相關的詞比如 Flutter 熱重載、IDEA 修改代碼熱更新、Nacos 配置熱更新。這些詞經(jīng)常被混在一起但它們解決的問題完全不同。Flutter 的熱重載本質是開發(fā)期工具改完代碼按一下 R開發(fā)進程把新的 widget 樹推給正在運行的調(diào)試 App幫開發(fā)者快速看 UI 效果。它不面向線上玩家代碼改動只在開發(fā)環(huán)境里生效。IDEA 里修改 Java 代碼后的熱更新是讓本地開發(fā)服務器不用重啟就能加載新類屬于開發(fā)效率工具的范圍。Nacos 配置熱更新更新的是配置項不是程序邏輯本身。而 Unity 項目里說的“代碼熱更新”指的是已經(jīng)安裝到玩家手機上的 App在不發(fā)新包的前提下從服務器拉取新的 C# 程序集并在本地執(zhí)行新邏輯。這是玩家可見的能力直接關系到線上事故的處理速度和上面那些開發(fā)期工具完全不是一個維度。所以有些同學問“我項目里用 IDE 熱重載很順是不是就不用 HybridCLR 了”答案顯然是否定的。2. 接入前先給工程“體檢”程序集、依賴方向、泛型用法2.1 依賴方向熱更代碼能引用什么不能引用什么接入 HybridCLR 最容易犯的錯是直接拿一個已經(jīng)寫了兩三年的老工程把所有代碼都掃進熱更程序集然后開始打包。正確的第一步是給工程劃分程序集邊界。Unity 項目里用 asmdef 把代碼分成多個程序集主工程里有一套專門給熱更代碼用的接口和公共代碼熱更代碼所在的程序集可以引用主工程的公共程序集但主工程的 AOT 代碼絕對不能反過來引用熱更程序集里的類型。一旦主工程靜態(tài)引用了熱更代碼里的類打 IL2CPP 包時就會把熱更代碼一起編進去后續(xù)想替換邏輯就會非常別扭。我在項目里習慣的分層是這樣的AOT 主程序集啟動流程、SDK 對接、資源管理、渲染相關、游戲的底層框架。AOT 公共接口層純接口和 DTO 定義比如戰(zhàn)斗結算接口、活動模板接口供熱更代碼實現(xiàn)或調(diào)用。熱更程序集賽季玩法、活動界面、數(shù)值表現(xiàn)、任務系統(tǒng)這類需要頻繁調(diào)整的邏輯。依賴方向是熱更層可以引用 AOT 公共接口層AOT 公共接口層不能引用熱更層。因為熱更層是運行時才被加載的AOT 側的代碼在編譯期根本不知道它的存在兩者之間只能靠接口或反射溝通。2.2 重點檢查一遍泛型使用習慣體檢時另一個重點是泛型。C# 泛型在 AOT 編譯下有個天然矛盾IL2CPP 編譯器在打包時只會為主工程代碼里“顯式出現(xiàn)過的泛型實例化”生成機器碼。如果熱更代碼運行時突然出現(xiàn)一個 AOT 模塊里從未實例化過的泛型組合比如DictionaryMyStruct, intIL2CPP 那邊并沒有對應的目標代碼運行時就會報類似AOT generic method can not be instantiated的錯誤。HybridCLR 的解法是“補充元數(shù)據(jù) 解釋器兜底”。打包時項目會帶上 AOT 必需 dll比如 mscorlib、System、UnityEngine.CoreModule 這些的元數(shù)據(jù)運行時先加載這些元數(shù)據(jù)讓解釋器能夠自己解析泛型方法的 IL 并執(zhí)行而不是必須依賴 IL2CPP 現(xiàn)成的機器碼。這并不代表你可以完全無視泛型。我建議在接入前把項目里“值類型 泛型容器混用”的地方掃一遍。比如大量使用Listint、Dictionaryint, MyEnum、Dictionarylong, MyStruct尤其是這些結構體是活動邏輯里臨時定義的時候要格外留意。這里不是說不能用而是你要意識到這類代碼會觸發(fā) AOT 泛型補充機制線上報錯后排查成本會高一些。2.3 確認版本兼容與目標平臺體檢還包括兩個基礎問題項目用的 Unity 版本以及 Scripting Backend 是否已經(jīng)是 IL2CPP。HybridCLR 只支持 IL2CPPMono 后端不在討論范圍內(nèi)。Android 項目由于現(xiàn)在 Google Play 和國內(nèi)渠道對 Target API Level 的要求越來越高很多項目把target API level提到了 33、34、35這個過程中只要正常使用 IL2CPP 并勾選 ARM64不會和 HybridCLR 產(chǎn)生直接沖突。但如果是很老的項目一直跑在 ARMv7 或 Mono 上最好先把構建鏈路切干凈再談熱更。Unity 版本建議盡量用 LTS比如 2021.3 LTS、2022.3 LTS 或官方文檔當前明確支持的版本。HybridCLR 的發(fā)布節(jié)奏通常能跟上主流 LTS用非 LTS 版本容易遭遇兼容性盲區(qū)。安裝時下載的是focus-creative-games/hybridclr_unity這份 Unity 側工程代碼版本要和項目 Unity 版本匹配別隨手拉最新版就往老項目里塞。3. 真機跑通全流程一個最小可熱更工程的搭建記錄3.1 安裝包和 Installer 到底做了什么接入時首先通過 Unity Package Manager 用 Git URL 把 HybridCLR 的 Unity 包加到工程里。拉取成功后菜單欄會出現(xiàn) HybridCLR 相關的入口。接下來執(zhí)行的是 HybridCLR - Installer這一步會往工程里寫一些必要的代碼更關鍵的是它會修改本地的 IL2CPP把解釋器相關模塊合入 il2cpp 的構建鏈。也就是說它不只是往 Assets 里加幾個腳本還動到了 Unity 編輯器安裝目錄下的 il2cpp 相關文件。這里有兩個容易踩的點。第一Installer 執(zhí)行時如果 Unity 正在占用相關文件或者殺毒軟件攔截了對安裝目錄的修改安裝可能“假成功”。我遇到過安裝后 Generate 時各種詭異報錯重裝一次 HybridCLR 就好了。建議執(zhí)行完 Installer 后先做一次簡單的生成操作驗證而不是直接開始打大包。第二升級 Unity 小版本后最好重新執(zhí)行 Installer。IL2CPP 內(nèi)部文件結構會隨版本變化舊的補丁不一定還能用。我們項目從 Unity 2021.3.16 升到 2021.3.31 時因為漏了這一步打出來的包初始化階段直接崩潰排查了半天才發(fā)現(xiàn)是 installer 沒重跑。3.2 創(chuàng)建熱更程序集并在 Settings 里登記HybridCLR 需要知道哪些程序集要被當作熱更程序集處理。官方推薦用 asmdef 組織但不是把文件夾命名為 HotUpdate 就行而是在工程里建一個真正的 Assembly Definition。我的做法是在 Assets 下建兩個目錄Assets/Scripts/Main主工程邏輯里面放Main.asmdef。Assets/Scripts/HotUpdate熱更邏輯里面放HotUpdate.asmdef。由于 HotUpdate 需要引用 Main 里定義的類型和接口在HotUpdate.asmdef的 Assembly Definition References 里加上 Main反之 Main 里不要引用 HotUpdate。這樣主工程干凈熱更程序集可以隨意引用它依賴的 AOT 庫。創(chuàng)建好 asmdef 后打開菜單HybridCLR - Settings把 HotUpdate 加進熱更新程序集列表。Install 時官方腳本會自動生成一套默認配置里面通常已經(jīng)預設了 compile 用的 AOT 程序集列表和補充元數(shù)據(jù)列表。新工程用默認配置其實就能跑通不需要一開始就手動維護一堆列表。3.3 初始化的核心代碼補充元數(shù)據(jù)再加載熱更程序集接入代碼最核心的只有兩步先補充 AOT 元數(shù)據(jù)再Assembly.Load熱更 dll。補充元數(shù)據(jù)這一步是用HybridCLR.RuntimeApi.LoadMetadataForAOTAssembly把 AOT dll 的元數(shù)據(jù)喂給解釋器。注意每個 dll 要單獨調(diào)用一次不能把多個 dll 拼成一個 byte 數(shù)組一次性傳進去。這里直接放一份可運行的初始化思路using System; using System.Reflection; using HybridCLR; using UnityEngine; public static class HotfixBootstrap { // 假設這些 dll 都已經(jīng)被打進同一個 AssetBundle // 并且以 TextAsset 形式加載 private static readonly string[] AotDllNames { mscorlib.dll, System.dll, System.Core.dll, UnityEngine.CoreModule.dll, Main.dll, }; private const string HotUpdateDllName HotUpdate.dll; public static void Start() { try { LoadAotMetadata(); LoadHotUpdateAssembly(); } catch (Exception e) { Debug.LogError($[Hotfix] 熱更啟動失敗走 AOT 兜底邏輯. {e}); FallbackToAOT(); } } private static void LoadAotMetadata() { AssetBundle ab AssetBundle.LoadFromFile(GetBundlePath()); foreach (string dllName in AotDllNames) { TextAsset ta ab.LoadAssetTextAsset(dllName); if (ta null) { Debug.LogError($[Hotfix] 缺少 AOT 元數(shù)據(jù): {dllName}); continue; } // 補充元數(shù)據(jù)必須發(fā)生在熱更代碼調(diào)用相關 AOT 泛型之前 RuntimeApi.LoadMetadataForAOTAssembly(ta.bytes, HomologousImageMode.SuperSet); } ab.Unload(false); } private static void LoadHotUpdateAssembly() { AssetBundle ab AssetBundle.LoadFromFile(GetBundlePath()); TextAsset dll ab.LoadAssetTextAsset(HotUpdateDllName); Assembly hotUpdateAssembly Assembly.Load(dll.bytes); Type entry hotUpdateAssembly.GetType(HotUpdate.GameMain); if (entry null) { Debug.LogError([Hotfix] 熱更入口類型不存在); return; } MethodInfo start entry.GetMethod(StartEntry); start?.Invoke(null, null); ab.Unload(false); } private static string GetBundlePath() { // 首包資源在 StreamingAssets后續(xù)更新資源在 persistentDataPath // 這里根據(jù)項目策略自行切換 return Application.streamingAssetsPath /hotupdate; } private static void FallbackToAOT() { // 你原有的啟動邏輯 AOTMain.Start(); } }有幾個細節(jié)需要說明。HomologousImageMode.SuperSet是官方示例里很常用的模式意思是用包含超集信息的方式加載元數(shù)據(jù)對裁剪后的 dll 兼容性更好。如果你的 dll 完全沒裁剪可以用 Consistent 模式但項目一旦開了 Strip Engine Code經(jīng)常會出現(xiàn)某些類型被裁掉的情況所以用 SuperSet 在實際項目里更省心。補充元數(shù)據(jù)的順序一定要在加載熱更 dll 之前。你在熱更 dll 里寫的代碼可能用到了主工程的泛型方法解釋器在執(zhí)行時如果 AOT 側沒有現(xiàn)成函數(shù)實現(xiàn)就需要通過補充元數(shù)據(jù)去解析對應 IL。這個動作發(fā)生得越晚越容易在詭異的位置拋出異常。不要直接在主工程里靜態(tài)調(diào)用熱更程序集里的類。上面代碼用反射拿HotUpdate.GameMain再調(diào)方法是我推薦的最小實現(xiàn)。真實項目里可以把這個入口抽象成一個接口放到 AOT 公共層熱更代碼提供一個實現(xiàn)這樣主工程只需要按需求反射加載熱更程序集再轉換成約定接口去調(diào)用比純反射更舒服。3.4 從 Generate/All 到 Android 打包代碼寫好后HybridCLR 的構建流程不是直接點 Unity 的 Build Player而是先執(zhí)行HybridCLR - Generate/All。這一步會完成幾件事把熱更程序集編譯成 dll、掃描代碼生成必要的橋接代碼、生成 AOT 泛型補充列表。也就是說橋接代碼和泛型列表不是純手工維護的而是在 Generate 階段自動生成的。每次修改熱更代碼后如果你直接打包而忘了重新執(zhí)行 Generate/All很可能打出來的包運行后行為異常因為橋接信息沒有同步過來。命令行構建時也需要在打包前調(diào)用對應接口常見寫法是using HybridCLR.Editor.Commands; using UnityEditor; using UnityEditor.Build; public static class BuildEntry { public static void BuildAndroid() { PrebuildCommand.GenerateAll(); BuildPlayerOptions options new BuildPlayerOptions(); options.scenes new[] { Assets/Scenes/Main.unity }; options.locationPathName Build/Android/demo.apk; options.target BuildTarget.Android; options.options BuildOptions.None; BuildPipeline.BuildPlayer(options); } }真機驗證時Player Settings 里注意三點Scripting Backend 必須選 IL2CPPTarget Architecture 要勾選 ARM64很多中低端新機也已經(jīng)只有 64 位庫了至少你要保證包含 ARM64Strip Engine Code 可以暫時開著但首輪驗證如果出現(xiàn)異常建議先關掉一次對比排查確認是熱更鏈路問題還是裁剪問題。3.5 驗證一次真正的不重裝更新首包裝完后寫一個最簡單的熱更驗證入口在熱更程序集里做這樣一件事在屏幕中央顯示HotUpdate Version 1。裝到手機上確認顯示正確。然后把代碼里的版本號改成HotUpdate Version 2重新 Generate/All重新打 AssetBundle但不要重新打 APK。把新的 AB 放到下載源手機 App 啟動后下載新 AB再次加載時如果屏幕顯示Version 2說明熱更已經(jīng)跑通。這一步是整個接入的“成人禮”。只要這個鏈路通了后面要做的就是把下載、校驗、解壓、加載打磨成正式框架。我見過不少項目卡在“編輯器里改了代碼直接運行是新的但熱更鏈路沒通”核心原因就是忘了驗證從 AB 里加載的還是不是最新那版 dll。打包 AB 之前建議在 AB 文件名或 dll 里寫入版本號標識啟動時打印出來避免新舊資源混淆。4. 首包之后躲不開的坑元數(shù)據(jù)缺失、AOT 泛型與裁剪4.1 真機 MissingMethodException 的排查路徑能把 Demo 跑通只代表最小鏈路沒問題。真實項目的第一個坎往往出現(xiàn)在把一部分業(yè)務代碼挪進熱更程序集之后。我印象最深的一次報錯是 Android 真機進入某個界面直接拋ExecutionEngineException: Attempting to call method xxx for which no ahead of time (AOT) code was generated。在編輯器里怎么跑都沒事一上 IL2CPP 就崩。遇到這類錯誤第一反應不要只盯著報錯的那一行函數(shù)而是按照這個順序排查初始化代碼是否真的執(zhí)行了。真機上熱更初始化可能被 SDK 或啟動順序問題跳過先打日志確認LoadMetadataForAOTAssembly每個 dll 都成功了。元數(shù)據(jù)列表是否完整。報錯類型如果是System.Collections.Generic.Dictionaryint, MyStruct之類的 AOT 泛型先查 System.dll、mscorlib.dll 的元數(shù)據(jù)是否被加載。報錯方法是不是定義在熱更 dll 里但實現(xiàn)需要調(diào)用 AOT 側的泛型特化。這是最常見的情況。是否開啟了代碼裁剪裁剪把需要用到的元數(shù)據(jù)當成“無用數(shù)據(jù)”干掉了。不要一上來就想著用“AOT 泛型引用列表”硬補。先搞清楚報錯方法屬于哪個程序集、是不是泛型、泛型參數(shù)是不是值類型排查方向會清晰很多。4.2 AOT 泛型為什么不能靠事前祈禱規(guī)避AOT 泛型問題的本質是編譯期和運行期的信息不對等。IL2CPP 打包時只會把主工程代碼里實際引用過的泛型特化編譯出來。假如你有一個MyStruct只在熱更 dll 里出現(xiàn)了ListMyStruct而主工程從來沒有實例化過這個組合那么在 AOT 的機器碼里就真的沒有ListMyStruct的實現(xiàn)。程序運行時發(fā)現(xiàn)需要它無論怎么找都找不到現(xiàn)成代碼。HybridCLR 給出的路徑是你想不到那我們就在運行時讓解釋器去現(xiàn)讀 IL、現(xiàn)解釋執(zhí)行。所以補充元數(shù)據(jù)不只是湊個數(shù)它是給解釋器提供了“原料”。只要元數(shù)據(jù)里包含那個泛型方法的 IL解釋器就能自己把它跑起來不依賴 IL2CPP 現(xiàn)成機器碼。但在實際項目里我遇到過需要補充的元數(shù)據(jù)太多導致啟動階段加載耗時上升的情況。后來我們做了個折中對性能敏感、且只在固定幾個類型之間使用的泛型盡量在主工程的 AOT 側提前打一次“引用錨點”讓它被 IL2CPP 編譯出來對業(yè)務里零散的泛型用法交給補充元數(shù)據(jù)解釋執(zhí)行。這樣既不出錯性能也可控。4.3 link.xml 裁剪與混淆帶來的一連串問題元數(shù)據(jù)有了但如果構建時裁剪器把 dll 里的元數(shù)據(jù)當成“沒被引用”的垃圾裁掉加載元數(shù)據(jù)時一樣會失敗。HybridCLR 官方工程里通常會帶一份 link.xml 或者在 Installer 時配置好 keep 規(guī)則如果你是自己創(chuàng)建的新工程注意保留 AOT 程序集的相關節(jié)點。我們的教訓是某次為了減包重打開 Strip Engine Code結果線上部分低端機開始隨機出現(xiàn)加載失敗。后來檢查發(fā)現(xiàn)裁剪配置沒有把第三方 SDK 里被熱更代碼反射調(diào)用的類型排除出去反射調(diào)用在 IL2CPP 裁剪后找不到類型。排查時可以先試著把Managed Stripping Level調(diào)到最低確認問題消失再逐步調(diào)高裁減等級定位是哪個規(guī)則誤傷了類型。如果項目用了混淆或加固尤其是對 dll 做二次處理的方案要和熱更鏈路分開對待。熱更 dll 自己可以加密混淆運行時解密再Assembly.Load沒問題但 AOT 元數(shù)據(jù)那批 dll 盡量不要做會影響元數(shù)據(jù)結構的混淆否則LoadMetadataForAOTAssembly時的模式校驗可能直接不通過。排查這類問題有個技巧關閉混淆打一個包如果不再報錯基本就是混淆規(guī)則或順序的問題。4.4 一次真實排查字典泛型在熱更里爆炸當初我們把任務系統(tǒng)挪進熱更程序集時熱更代碼里有這么一段Dictionaryint, TaskReward rewardMap new Dictionaryint, TaskReward();TaskReward是熱更程序集里的一個普通類int是值類型。這個寫法在 C# 里再普通不過但在 IL2CPP 熱更環(huán)境下它是一個典型的泛型特化組合主工程 AOT 側從來沒寫過Dictionaryint, TaskReward所以沒有現(xiàn)成 AOT 代碼。最終是靠補充元數(shù)據(jù)解決的。我們在 AOT 元數(shù)據(jù)列表里帶上 System.dll字典泛型的實現(xiàn)定義在這里并在加載熱更 dll 之前調(diào)用LoadMetadataForAOTAssembly加載它解釋器拿到元數(shù)據(jù)后就能自己解釋執(zhí)行這個泛型方法。如果你也想臨時驗證某個泛型問題是不是補充元數(shù)據(jù)能解決可以寫一段只包含該泛型操作的測試熱更代碼真機跑一次比在論壇上猜快得多。5. 與項目框架配套AB 打包、啟動更新和版本保護5.1 熱更 dll 放 AssetBundle元數(shù)據(jù)放哪里熱更 dll 本質上是一個二進制文件你可以直接放服務器讓客戶端下載后寫到 persistentDataPath也可以塞進 AssetBundle。實戰(zhàn)上我更推薦塞 AssetBundle原因不是放不下一個 dll而是項目本來就有資源更新鏈路復用同一套下載、校驗、加載邏輯比另起一套文件下載穩(wěn)定得多。有一點經(jīng)驗很重要不要把熱更 dll 用 Unity 的 TextAsset 直接打進 ResourcesResources 里的東西在包發(fā)布后是不能動態(tài)替換的只適合放“永遠不會變的 AOT 兜底版本”或某個基礎元數(shù)據(jù)。真正要更新的是放在 AssetBundle 里的那份 dll首包時可以把這個 AB 同時放到 StreamingAssets
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
乱性AV| 欧美se亚洲| 国产精品久久久久综合| 中文字幕AV片| 亚洲天堂久久久久久粉红视频| 国产精品亚洲天堂网址| 亚洲高清内射| 国产AV激情无码久久无码| 久久国产精品91| 欧美一品道| 亚洲成人在线高清| 成人综合视频久久| 国产在线视频二区| 亚洲精品骚逼| 黄人人操人人操| AV天堂电影网| 97无码视频在线播放| 狠狠色噜噜狠狠狠狠狠色综合久久 | 操逼视频色| 性吧在线视频| 中文字幕一区二区无码成人| 激情色色| 欧美日韩欧美| 久久精品小视频| 久草成人影片| 日本性爱少妇| 欧美色道啊| 全免费a敌肛交毛片免费| 97超碰中文字幕| 亚洲精品一二区| 亚洲男人的天堂在线看| 国产精品视频麻豆入口| 亚洲凸凹超碰成人| 伊人久操| 97久久超碰日韩精品| 国产女生在线| 伊人九九九| 日本99视频| v91av| 91丨九色丨东北熟女| 精品人妻一区二区蜜桃视频 | 激情图片亚洲色图| 国产精品69人妻无码久久久| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 人妻少妇三级| 激情综合五月| 中文字幕97| 欧美亚洲影视| 亚洲五码一区二区三区| 91少妇香蕉久久精品| 国产乱色国产精品免费视| 粉嫩AV一区夜夜嗨| 在线不卡视频| 欧美偷拍区| 欧美精品久久| 四方色播| 97看操| 精品国产丝袜一区二区三区乱码| 国产精品一区二区三区免费视频| 2017大香蕉国产精品久久| 欧美顶级黄色大片免费| 高精欧美色| 四虎AV无码| 人人贴人人摸| 少妇三p| 欧美三级一级| 亚洲 国产 精品一区| 精品少妇高潮久久| 91在线限制级| 国产做?爰片久久毛片?片美国| 欧美AB在线| 男女激情中文字幕| 狠狠五月天| 成人麻豆av电影网站| 日本精品一区二区三| 淫色网综合| 99热99在线| 国产欧美日韩一区二区三区| 色妺妺AⅤ| 久久仑合| 999国产精品999| 色欧洲| 久久久久久少妇| 天天插天天插| 亚洲精品中文字幕一区在线视频| 97jingpin| 青青草操逼逼视频| 色色色五月婷婷| 在线无码视频| 日韩中文字幕在线视频观看| 99这里有精品| 97久久精品亚洲| 精品一区二区亚洲国产| 久操不卡视频| 亚洲成人碰碰| 素人播放一区| 日本 欧美 亚中文字幕| 人夜夜精品网站香蕉嫩草| 日韩不卡a级视频专区| 亚洲精品国产熟女| 91在线视频观看国产| 人人妻人人爽 97人人看碰人免费公开视频| 亚洲中文字幕久久无码精品| 国产精品动态一区二区三区四四| 激情久久日韩精品中文字幕麻豆| 精品国产乱码久久久| 大香蕉日亚洲日本亚大| 亚洲脚交| 久久精品国产精品一区| 麻豆国产精品午夜视频| 飘花国产午夜精品不卡| se01国产在线视频| 人人操人人摸人| 韩国三级理论在线| 五月婷视频| www.夜夜操| 9 9精品一区二区三区| 九九在线精品| 人人爱夜夜爱| 蜜臀99999| 欧美极品少妇| 1024精品在线| 蜜乳中文字幕a在线| 秋霞怕怕片| 亚欧高清| 成人五月香网在线| 中出后入| 亚洲色婷婷综合久久一区二区三区| 国产尤物在线三区| 中国农村熟妇毛片视频| 国产美女mm131爽爽爽爽| 丁香六月东京热| 九色婷婷| 人妻无码后入| 久久99久久99精品天美传媒棢·纸:. | 97五月天| 91艹逼精品| 亚洲 一区二区 自拍| 国产亚洲女v在线观看| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 风韵犹存大大大大香蕉 | 丰满人妻一区二区三区免费 | 加勒比久久av| 亚欧美色| 国产操偷| 伊人久久青青草| 久偷拍欧美日韩三区| 97超碰伊人| av影片在线观看不卡| 伊人久久综合影院| 五月天婷婷综合| 宅男91视频在线播放| 亚洲女人毛茸茸91| 秋霞网无码| 国产69精品久久久久99尤物| 欧美乱色| 国产精品高朝久久久久久久| 五月天婷婷在线看 | 98人妻精品一区二区色欲| 乳欲人妻办公室奶水| 五月婷婷六月丁香| 免费国产| 免费观看性欧美一级| 天天草天天干天天日| 精品国产72| 美女啊啊啊啊啊啊| 嫖老熟女A片一二三区| 99re这里只有精品中心播放| 精品一区二区啪啪啪| 密臀AV在线| 在线97视频| 欧美日本国产日韩激情视频| 精品国产一区二区三区久久久蜜臀 | 欧美色五月| 中文字幕久久精品一区| 亚洲天堂男人天堂| 老熟女91av| 少妇高潮一区二区三区在线| 18禁的网站在线| 在线天堂999| 久久久久久久久久久久色网| 欧美一区二区三区日韩| 毛片99-全集电影手机免费观看完整-B029AV | 久久 亚洲 日韩 人妻| 午夜噜噜噜| 亚洲五码一区二区三区| 九九亚洲精品| 黄片视频,下载| 久久国产99精品72福利| 曰韩中文人妻视频| 九九热九九热| V A在线| 美女黄页| 无码不卡八戒| 天天看特黄的免费网站| 国产一级不卡在线观看| 日本网色| 色悠悠伊人网五月天| 97国产高清视频在线观看| 麻豆一区二区三区精品| 国产精品亚洲高清在线| 国产肏屁眼视频| 性色av大全| 欧美天天综| 日本操逼视频在线| 中文久久一区| 操B在线观看| 色爽——AV| 日本不卡高清视频| 热久久无毒不卡| 日韩性爱免费视频在线网站| 加勒比久久av| 天天干天天日天天射黄色| 日本黄大片在线观看视频| 91+欧美| 国产成人午夜视频网址| 欧亚韩国999| 天天草天天干天天日| 久热99999| 久久精品色欧美aⅴ一区二区| 啊啊啊啊啊啊啊在线| 国产精品999zyz| 久久久性少妇| 亚洲日韩AV视色| 国产精品免费久久久久久久久久| 99xav| 亚洲无吗在线视频| 91n处女在线观看| 国产成人亚洲精品无码最新在线| 吊色| av天堂影视中文在字幕在线中文 | 免费97视频| av天堂5| 日本精品五区| 亚洲91射| 人妻精品4K4K4K4K4| 操高情无码| 中文字幕人妻丝袜乱一区三区| 麻豆天美国美国产AV| 性爱综合一区二区| 天天综合中文字幕 91| 欧美天堂日韩三级国产传媒| 日韩成人性爱电影在线播放| 欧美精品97| 亚洲 另类 丝袜 自拍 动漫| 91九色精品熟女内射| 蜜乳中文字幕a在线| 综合色久欲| 男女打扑克高清网站| 丰满人妻一区二区三区四区| 丝袜AV一区二区三区| 97超久碰| 蜜桃成人1区2区3区| 久久综合亚洲色1080p| 超碰色97| 极品尤物在线观看| 1人人看人人摸人人操| 99少妇| 久久蜜色情在线视频xxx免费观看| 国产版a级片直播在线| 日韩综合无码一区久久92| 天天综合网合集91| 亚洲色图国产另类| 俺去久久| 久久a久久| 91精品综合久久久久久五月丁香| 国产精品久久久久久久黄无码| 少妇色| 欧美日韩系列| 久久久久96| 久久大线蕉一区| 国语人妻精彩刺激| 久久99久久99精品免视看婷婷| 天天视频网站黄| 久9精品| 色婷婷一区二区三区久久午夜成人不| 亚洲天堂日本| 97精品第3页| 香一区二区三区| 国内外色色色色色成人视频| 日韩av不卡在线观看| 欧美激情性久久久久久| 国产无码精品高清| 超碰碰小说97| 天天综合站| 亚洲的天堂网| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 亚洲91少妇| 人妻熟女av国产网站| 久久精品中文字幕无码l| 51国产午夜精品视频| 欧美激情激情xxxx欧美专区| 九九九九热| 少妇久久久久久| 午夜在线播放| 五十路一区无码| 高清视频一区| 欧美色亚洲| 欧美狠狠干| 99色网| 国产高清亚洲日韩一区| 欧美黄色手机在线观看| 91伊人久| 在线综合色| 在线观看亚洲专区| 欧美性爱在线无码| 精品人妻伦一二三区久久| 欧美天天射| 国产深夜福利| 激情天天视频| 99久久e免费热视| 久久精品国产96精品亚洲拳交| 免费中文在线| 91久久精品蜜臀| 亚洲AO在线| 二对二中文字幕。| 肉丝无码中文高清| 久久精品国产亚洲粉嫩| 网友自拍第一页| 亚洲电影中字一区二区| 欧美精品成人在线播放| 手机看av网站在线看| 婷婷在线视频| 久久久久久久久久久久久9999| 久久九七| 婷婷探花久久精品一区| 欧美性天天| 搞中出久久| 在线性黄高清免费视频| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 亚洲中文字幕有码视频一区二区三区| 国产综合久久久鬼色| 国产亚洲精品美女| 日韩9区| 亚洲国产成人7777| 色综合久久久久| 蜜臀亚洲中文| 国产精品69久久久久久久 | 美女让帅哥通她小鸡鸡| 97视频在线播放| 中字幕人妻一区二区三区| 激情综合二| 亚洲校园激情| 亚洲图片欧美| 91嫩草欧美| 久久男人的天堂国产| 探花激情视频| 欧美视频在线视频免费va| 国产亚洲精品玖玖玖在线观看| 劲爆欧美人妖三区91| 美女AV一区二区| 国模不卡一本二本三电影| 欧美午夜色妇色鬼| 婷婷色网| 欧美性综合| 人妻黑丝袜电影| 久久久一区二区| 婷婷九月丁香| 国产精品欧美在线观看| 午夜啪| 91精品无码久久久久久久| 亚洲日韩人妻中文字幕一区| 成人26uuu| 日韩在线性爱免费视频| 欧美日韩国产高清在线一二三区 | 日韩福利综合一区| 中国少妇XXXX做受| 国产精选三级在线观看| 亚洲无套久久嗯嗯| 亚洲永久永久永久永久一级一级一级精品 | 噜噜噜噜天天狠狠| 久久久日本电影| 在线午夜成人无码视频| 亚洲第一精品在线视频| 能看的AV| 性色国产东北露脸精品视频| 台湾佬中文娱乐网久久久久久久久久com | 中文字幕第95页| 91女色| 91丨国产丨白浆秘 洗澡动漫| 国产操逼网站亚洲一级黄色| 欧亚乱色熟女一区二区| 国语人妻精彩刺激| 国产精品亚洲美女久久久久| 天天影视色香色欲| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 97色欧洲| 人人操人人爽人人操人人| 国产 日韩 欧美高清| 精品亚洲国产成人AV制服丝袜| 99综合网| 另类 综合 日韩 欧美 亚洲| 九九九久久久W精品| 小说区 图片区色 综合区| 天天视频综合在线观看视频| 99国内精品| 91精品人妻五十路| 操逼A∨| 91在线精品| 一区,二区,三区网站| 美女丝袜激情小说| 操一操摸一摸| 丁香五月婷婷色| 欧美亚州综合图片| 水多多映视AV| 超碰99热| 欧美亚州色的图| 国产精品久久久啊| 欧美成人一级麻豆| 青青草日韩无码| 亚洲色资源| 久久91| 免费综合亚洲中文| 久久一本大香蕉 | 成年人一级黄色毛片大全在线观看| 亚洲另类久操网| 亚洲欧美校园| 丰满少妇乱子伦精品无| 欧美激情色婷婷花野真衣一区二区| 好属操| 国内毛片免费h片在线| 亚洲激情色片| 超碰精品国产无码| 91n美女视频| 91蜜臀人妻中文字幕在线| 又粗又长又爽在线观看| 亚州色图狠狠干| 97精品国产| 91操人| 超碰欧美97资源| 人人操人人摸人人看人人干| 欧美日韩人人早| 超碰在线人人射| 亚洲色图大香| 91性情| www久久99| 日本一级不卡一二区| 巨爆乳一区二区爆乳区| 丰满精品人妻少妇久久字幕| 国产乱伦亚洲色图高清无码| 久久一区,青青青青草视频在线播放| 草草草视频| www.yw尤物| 在线洲亚线| 立川理惠加勒比无码| 春色综合免费| 久久美女福利是上海美女| 青青草久久在线| av无码精品久久久久| 欧美久久人妻少妇一区二区| 性爱免费视频成人| 中文久久96| 日韩卡一卡二卡三在线| 色偷偷超碰亚洲| 国产男人又猛又粗又爽| 后入式福利| 综合网色| 久久久96| 日本97久久久精品| 欧美丰满少妇xx高潮| 级品肉射| 亚洲一区二区中文字幕| 四虎AV在线播放| 婷婷五月天成人| 97干色| 欧美激情 日韩精品| 欧美日韩午夜精品一区二区三区 | 精品日韩中文在线| 国产后入清纯| 久久99久久99精品免视看婷婷| 天天久久| 狠狠搞 亚洲91| 国产女人高潮嗷嗷嗷叫小说| 97在线日韩中文字幕| 99re久久| 国产男女边吃边摸视频网站| 91艹| 亚洲影视综合网| 91一区二区三区蜜桃| 欧美91网站| 亚洲福利中文字幕在线| 亚洲日韩电影| 欧美色天堂网在线视频| 国产福利影视| 99久久精品国产系列| 操死我了嗯嗯嗯| 777奇米影视777四色| 国产熟女无套内射| 60秒试看最爽10分钟网站| 午夜福利精品| 色五月AV| 加勒比性爱成人在线| 丁香激情五月天| 欧美18 在线观看| 久久中文字幕女同性恋一区| 理论久久婷婷网 8| 精品久久久久av影院| 国产91美女视频| 国产又大又粗又长视频在线| 综合色啪| gogogo免费高清看中国国语| 九九九999久久久网站| 男人干美女| 久久久97| 日日夜夜精品| 97精品免费| 欧美综合网1| 蜜臀久久99精品久久久老,,| 亚洲午夜福利在线影院| 美女被啪到深处抽搐视频| 91精品人妻啪啪间| 国产九九久久久精品| 福利在线观看一区二区| 国产呦精品系列在线观看| 天欧美在线| 国产a级精品| 国产一级片| 在线观看高清AV| 一区二区视频在看| 亚洲中亚日激情视频| 富二代亚洲精品99| 99综合免费视频| 激情无码日韩| 69av一区二区三区| 精品91日日夜夜超清资源| 午夜精品人妻二区三区| 又黄又粗又硬又长又大| 啪啪91| 97人人草| 桃花色涩综合影院| 自拍偷拍 日韩无码| 久久久久久国产成人| 亚洲日韩电影| 欧美性色欧美| 国产后入式在线观看| 丝袜亚洲91| 97人亚洲综合字幕| 欧洲Au麻豆| 精品少妇后入一区二区三区四区人妻巨乳| 在线v中文字幕一区二区三区| 欧 美 自 拍 偷 拍| 亚洲熟妇一,二,三期| 国产sv美女内射| 超碰97人人乐| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 91久操| 麻豆啪啪啪视频| 啪啪资源网| 国产一区二区三区视频在线看| 91久久久亚洲| 97超碰人人操人人操| 亚洲精品97| 97爱爱| 久草午夜| 国产五码丝袜屁眼| 天天碰操中国年青熟妇| 嗯嗯啊啊亚欧精品| 久久久久一本一区二区青青蜜月| 久久发布国产伦子伦精品| 亚洲宅男天堂| 熟女人妻av在线资源,黄色的资源| 97色碰| 蜜桃久久综合视频| 亚洲精品久久久久久久久豆丁网| 欧洲综合视频| 99热aaa| 欧美 熟女 日韩| 亚洲熟女乱综合一区二区三区| 97在线观看免费视频l| 粉嫩小泬久久久一区二区| 国产精品久久久九九九| 97久久精品不卡| 变态另类专区| 91亚洲欧洲| 亚洲一区日韩精品中文字幕| 久久受www免费人成| 在线播放一级无码视频| 国产强上视频在线观看| 欧美亚洲日本激情在线| 婷婷综合久久| 国产自产91区13区| 精品九九九九九九九九九| 成人精品水蜜桃久久久久久久| 国产精品午夜精品| 欧美一二三| 国产狂喷潮在线精品| 操逼www.| 日本岛国黄色网址| 狠狠躁AV| 青青欧洲黑| 亚洲久久天堂| 无码精品久久久久久亚洲| 亚洲天天做日日做天天谢日日| www.黄色在线| www.夜夜操| 91色黑人少妇| 麻豆区久久久久亚| 97香蕉人人乳| 97在线免费公开视频| 秋霞怕怕片| 一级黄色性爱A级片| 97色婷婷| 2019AV天堂| 精品无人区麻豆乱码1区2区图片| 丁香色狠狠色综合久久小说| 亚洲导航深夜福利| 欧美超碰9798| 嗯嗯啊啊的视频| 天美91| 中国女人内射6XXXXX| 屌色在线97视频| 欧美天堂超碰97| 色色九区| 免费精品人妻一区二区三| 日本福利社| 亚洲污污网站| 97爱| 亚洲AV无码国产精品久久久久| 97久久久久久久精| 久久r精品| 亚洲欧美色图小说| 狠狠综合网| 色妇91| 亚洲欧美国产va在线播放频| 人人色人人操在线| 神马久久啊啊| 九九九九热| 伊人色综合网电影| 蜜屁Av| 日韩免费a级毛片无码a∨| 免费一级欧美片片线观看| 久久深夜无码| 久久一二三四| 激情婷婷五月天| 欧美综合 站| 综合av社区| 色综合一区二区三巨| 日韩无码服务区| 人人操人人插人人摸人人干| 亚洲伊人久久精品狠狠在线| 麻豆天美在线| 丰满人妻大屁一区二区| 亚洲人91| 欧美激情性久久久久久| 丁香九月 婷婷| 按摩中文字幕| 老熟女综合| 亚洲欧美成人在线| 欧美综合色综合| 久操网视频| 欧美精品偷拍| 超碰97人人cao| 青青草在线成人视频| 人人妻人人爽一区二区三区| 色狠狠色| 中文字幕一区二区三区四五区| 91动漫操逼视频| 少妇丝袜在线观看AV| 99这里只有精品国产| 97干色天堂| 欧美日韩国产一区二区小黄片大全| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴| 97草草| 亚洲成人久久一区二区| 97视频在线视频| 操高情无码| 色香伊人| 久久一区二区三区入口| 人妻喷水| 亚洲成人免费在线| 欧洲人妻视频| 麻豆精品久久久久久久| 超碰78| 国产原创精品| 日产操逼| 爽爽爽免费视频| 国产综合在线视频网站| 国产熟妇一区二区| 欧美日韩色综合网| 亚洲的天堂网| 777奇米影视777四色| avav青青草久久夜| 五月婷婷综合网| 国产91 丝袜在线播放00-百度| 日韩在线76| 久久精品一区二区一8| 国产SV一线| 九色精品视频导航1| 亚洲天堂日本| 曰韩无码777| 久久久久99999| 九九九综合精品| 国产黄色在线播放观看| 久久久久无码一妻区| 亚洲蜜桃V妇女| 日韩有码中文字幕女同性恋| 久久精品亚洲婷婷| 天堂а√在线最新版在线| 99热国产| 黄色片A级一区二区三区| 精品无码久久久久| 久久艹逼视频| 亚洲色图欧洲| 2019AV天堂| av天堂手机版追回| 啊啊啊好想要| 亚洲美女色图| 午夜天堂啪啪| 欧美日韩大香蕉| 色爽——AV| 狠狠干狠狠干| 成人AV超碰免费在线| 国产一| 五月天色图影视| 眼镜人妻101.com| 人妻喷水| 色诱中文字幕| 国产女人成人精品视频| 国产1024在线播放| 97久久国产精品| 97午夜剧场日韩| 欧美亚洲另类在线蜜桃| 日本精品五区| wuyechaopeng| 福利风月五月天影院| 免费A V在线播放| 久久九色| 超碰9 7女人| 国产精品久久久久绯色| 在线性黄高清免费视频| 乱性AV| 91久久国产精品| 躁躁日曰躁2020| 五月丁香综合激情| 日韩欧美tv一区二区在线观看| 久热热| 国产人妻精品一区二区三区秋霞 | 国内精品久9| 91日日| 嗯啊不要啊在线| 岛国在线一区二区三区| 人妻人人澡人人爽人人| 久久人妻办公室视频| 亚洲色 国产 欧美 日韩| 麻豆国产97在线| 天美麻豆一区二区三区| 久久亚洲色图中文字幕| 国产精品久久久视频| 亚洲av乱伦色图网站| 国产精品网址| 私人尤物在线精品不卡| 人妻激情视频| 欧美一区二区三区成人性生活| 97激情97激情| 99re9在线| 欧美亚洲日本激情在线| 午夜超爽| 狠狠色伊人亚洲综合网站色| 欧美日韩资源| 97se亚洲| 91在线丝袜| 日日妻色网| 超碰综合色| 色鬼在线综合| 天天操天天射青青草| 天天日天天操心| 国产情侣自拍在线播放| 欧美十八禁导航成人| 黑人美精品 A片| 国产主播福利| 午夜小电影在线插入淫高潮| 日夜伊人网| 嗯嗯啊啊啊好爽| 四虎精品亚洲| 97伊人超碰| 欧美爱国产综合、| 天天天堂影视日韩亚洲91| 天天舔天天日天天射| 欧美色一二三| 香蕉久久精品| 91黑丝美女| 中出789在线视频| 欧美熟妇操操视频| 色av中文字幕| 中文字幕十五区| 国产亚洲色婷婷99精品91| 啊啊啊啊啊在线视频| 91网亚洲| 久久久性爱视频| 无码少妇精品一区二区60岁老人| 无码在线亚洲| 久久久成人国产精品无码| 国语av最新自产拍在线观看| 亚洲午夜福利在线影院| 亚洲精品a人片在线观看视| 黄片免费看黄片免费看| 亚洲熟女av日韩熟女| 国产激情在线观看| 国产精品电影| 精品久久視頻在线| 久久精品免费| 久久99手机免费视频| 夜夜福利| 亚洲天天精品| 极品少妇久久久| 久久这里只有精品9| 精品欧美老熟女一二区| 免费av在线播放二区| 免费亚洲黄色视频在线观看| 26uuu国产免费观看| 色丁香五月婷婷| 理论久久婷婷网 8| 欧美美女在线高潮999| 日本最新免费韩国1区2区视频播放| 日韩美女高潮喷水视频| 伊人在线大香蕉视频久久| 久区视频| 日本人妻丰满熟妇久久久久久| .精品人妻一区二区三| 欧美日韩性爱无码| 99久久婷婷国产综合精品草原| 99re9在线| 操逼精品视频| 久久99久久99精品天美传媒棢·纸:.| 日本媚薬中文字幕在线| 强奸乱伦 亚洲一区| 国产成人欧美一区二区三区的国产| 成人性爱全视频观看| 一本道综合色图| 麻豆性爱视频在线播放| 久久久91福利姬| 校园春色五月天| 免费啪啪av| 大香网伊人久久综合| 青青青国产| 大香蕉92| 大学生美女口爆| 亚洲欧洲精品视频发布| 亚洲 日本 一 二 三| 黑丝日韩av丝袜av| 日本一二三免费久久| 亚洲精品自拍| 探花激情视频| 天天看人人操屄犊摸阴| 亚洲素人综合| 国产在线综合网| 日本综合色图| 日韩精品免费高清视频在线| 激情99| 亚洲高清少妇| 色综合加勒比| 秋霞曰韩R级| 中文字日本乱码| 国产免费小视频| 精品中文字幕第一页| 色色国产| 大屁股熟女一区二区三区| 无码国产精品96久久久久孕妇| 熟女人妇一区二区三区| 熟妇熟女一区二三区| 97在线视频观看免费| 国产精品人人爽人人做可爱福利| 天天日天天爽| 男人天堂免费| 欧美十八禁视频| 开心五月天激情网| 熟女露脸激情自拍视频| 蜜乳视频网站| 欧美久久九九| 综合亚州欧美| 秋霞免费AV| 欧美人妻色| 蜜臀久久99精品久久久电影| 在线看免费无码AV天堂的| 日韩精品9999| 亚洲欧美综合| wwwss在线观看| 9997se| 一类无码操逼视频| 欧美性,色九九| 亚洲欧美情色| 大香蕉啪啪网| 死我十八禁| 丰满岳乱妇一区二区三区| 欧美日韩国第一区| 久操国产在线| 大香蕉五月天| 亚洲色图8| 人人操人人摸人 | 欧美日韩国产一区二区小黄片大全| 五月婷丁香| 欧美96交| 91干熟女| 久久r精品| 中文操嬖片。| 嗯嗯啊啊的视频| 精品亚洲国产成人精品| 制服少妇欧美| 大香蕉视频一二三区| 久久超碰、| 欧美色图人妻| 天天综合网日韩7799| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 久久78| 97超碰jingpin| 欧美黑人熟妇精品91| 天天日天天舔| 伊人麻豆传媒| 久久国产视频性吧 | 操一区| 中国91AV| 97电影院超碰| 天美传媒精品一区二区| 啊啊啊 在线观看| 97亚洲精品| 婷婷三区| 午夜福利一区二区影院| 亚洲自拍欧美国产首页网曝| 欧亚性爱在线视频| 成人片视频| 无码在线亚洲| 青青草AV色| 五月丁香色色网| 欧美色图综合网| 日韩97超碰中文字幕| 97欧美超碰| 口爆欧美91| 国内亚洲精彩视频在线| ...日韩成人一区二区三区字幕| 91精品人妻电影| 97伊人超碰| 亚洲.欧美.丝袜.中文.综合| V A在线| 人人妻人人色| 久操视频资源站公开| 97网站在线观看| 人人色97| 男女日B国产| 欧美成人国产精品| 精品国产片亚洲一区| 久久久久久久性爱| 熟妇一区二区三区| 国产h片在线观看视频| 欧美色爱综合| 天天添天天干电影| 尤物视频一区| 人妻喷水| 精品国产网站| 国产黄片在线免费观看| 久久伊人东京热| 天天摸天天插天天日| 国产黄色在线播放观看| 亚洲久草AV色图| 欧美制服另类丝袜| 操逼片国产| 密臀在线视频| 久久亚州高清| 干婷婷综合网| 插入逼91| 久久华人网| 美女人妻色网站| 久久久久久久亚洲Av无码| 精人妻一区二区三区| 色婷婷综合久久久久中文一区二区| 精品少妇人妻av久久免费| 97亚洲色图| 97 国产一区| 丁香五月天堂| 亚洲āv网址在线观看| 人妻天天爽夜夜爽2| 国产伊人自拍| 人妻日日干| 日韩欧美亚洲自拍偷拍| 天天天堂影视日韩亚洲91| 久久欲| 啊啊啊好大好深| 欧美97视频| 又大又白奶子| 日本精品无码三级网站| 97超碰久久| 99久在线精品99re8| 国产自产91区13区| 91黑人无码激情在线| 日本高清免费一本视频在线观看| 神马久久免费电影观看| 国产传媒美日韩av| 色播五月婷婷| 老司机老司机午夜影院| jazzjazz国产精品麻豆| 91中文字幕在线观看| 又摸又舔在线观看网站| 亚洲综合激情五月久久| 成人5码视频| 国产无马在线| 亚欧美色| 9久9久9久9久视频网站| oumeizonghese,www| 国产亚洲人妻综合日韩 久久| 国产亲戚伦亲在线| 色婷婷六月丁香七月婷婷| 91老司机在线| 蜜区区视频79| 亚洲91综合| 神马久久中文字幕| 中文字幕大片三级狠狠干| 第一高清av中文字幕| 欧美另类精品xxxx| CCYY草草影院地址入口| 超清中文乱码字幕| 99少妇内射| 国产熟女高潮一区二区三区| 物尤视频一区二区| 好淫网一二三视区| 中文字幕五区| 黄网在线播放| 日本理论在线| 亚洲国产麻豆一区二区三区| 久久综合国产精品国产| 女欧美一区二三区| 97免费在线视频| 91丝袜美女视频| 久久久久国色αv免费观看| 老熟妇一区二区三区| 久久久成人精品| 91精品婷婷国产综合久久竹菊| 偷拍亚洲高清图片| 欧美色九九九| 亚洲成人一二三区| 好湿好紧好爽 视频| 欧美日韩99精品麻豆传媒| 综合熟女| 精品视频久久久久九九九九9999| 色婷婷基地| 91蜜桃婷婷狠狠久久综合9色| 高清国产av无码| 最新国产精品久久精品| 国产 三级自拍| 六月激情婷婷| 色色综合网站| 亚洲色五月| 懂色AV一区二区三区| 欧美极品少妇交| 熟妇熟女亚洲天堂网| 手机av天堂久久久久| 99精品丰满人妻无| 特级大荫道BBwBBwBBW| 久久嫩草国产成人一区| 草伊人高潮喷水超碰| 日日A∨| 91国产在线精品| 久久精品国产精品亚洲艾通辽熟妇 | 自拍偷拍 高清无码| 免费啪啪一级视频| 亚洲欧洲网站免费观看| 99久久综合| 久久秀这里有精品| 久久仑合| 少妇99| 日韩欧美麻豆| 999999精品| 亚洲日韩精品久久久久一区壹牛| 天天狠操| 中国女人内射6XXXXX| 成年女人18级毛片毛片免费观看| 久久精品99| 啊啊啊啊啊啊啊国| 日本一天色道久久久精品视频| 是还免费视频1727我| 91狠狠狠| 九九九精品| 国产日韩精品人妻久久久久色欲网站| 另类一区| 日韩精品一区二区三区四虎影视| 成人AV素股で擦久久| 青青草字幕AV| 欧美综合中文| 精品人成视频在线观看| 在线观看免费视频国产| 人人透人人操| 97精品一二区| 嗯嗯啊啊好大好爽| 欲香欲色综合天天伊人| 日韩免费一级性爱视频| 中文字幕aⅴ在线视频| 丁香五月婷婷基地| 超碰人妻中文在线| 午夜视频久久久| 欧美精品成人一区二区在线观看| 超97在线精品视频| 99这里有精品| 超碰97最新人妻| 99re这里只有精品2| 午夜国产成人精品视频| 伊人黄色视频免费观看| 欧州色图区| 亚洲啪啪啪啪视香蕉| 91骚熟女| 日本Xx性爱| 大稥蕉免费视频这里只有精品| 操逼999| 野狼福利社区| 日韩欧美国产一区二区三区四区| 婷婷五月天在线观看| 成人在线视频一区| 91精品国产一区三一| 一级黄碟在线看| 日韩乱伦影音先锋| 久久亚洲中文字幕视频| 亚洲无码国产探花在线观看| 性爱视频免费网址| aⅴ日韩成人电影av在线免费看av大全| 久久 国产精品 一区| 国产久久久9999| 日韩人妻丝袜美腿中文| 久久激情婷婷| 黄片免费看的| 亚洲综合网电影91| 无毛精品| 亚洲第一页第二页激情| 日本性爱少妇| 国产午夜视频| 男人的天堂va| 免费精品福利在线观看| 区一二区日韩亚洲乱码av电影| 变态另类专区| 国产探花精品在线| 91在线免费观看处女| 国产激情在线| 人人干人人操人人..com| 久久免费看高潮毛片韩国| 国产精品在线免费| 综合久久欧美| 欧美青青视频| 亚洲天堂一区二区久久| 激情四射婷婷四五月天| 中文字幕一区二区三区人妻不卡| 欧美另类综合久久| 激情终合网| 日韩免费三级黄片电影| 欧美制服另类丝袜| 五月天伊人网| 少妇超碰在线| 99re这里只有| 日本在线一二| 欧美精品人妻视频| 中国的操老妇女| 人妻人人做人人澡人人爽欧美一区| 久久丁香久草综合网| 激情久久av一区av二区av| 日韩在线97| 无码天天操| 日韩欧美中文字| 天堂中文日本在线观看| 一本色道久久综合熟妇| 秋霞蝌科网日本一区| 国产美女高潮视频| 亚洲国产精品久久久久久久久久| 91色花堂| 绯色AV粉色AV蜜臀AV| 久久社区一区二区三区|