久久伊人一区二区三区四区-久久伊人影视-久久伊人影院-久久伊人中文字幕-亚洲成在人色婷婷-亚洲大成色www永久网

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Unity使用Obb擴(kuò)展包的正確姿勢

Unity使用Obb擴(kuò)展包的正確姿勢

來源:千鋒教育
發(fā)布人:qyf
時間: 2022-08-18 17:35:00 1660815300

未命名圖片 (3)

  由于Google Play上不能上傳大于100M的包,所以需要將應(yīng)用進(jìn)行Obb分包,資源文件打包到Obb中,在Apk啟動的時候再從Obb擴(kuò)展文件中加載資源。

  如何生成Obb擴(kuò)展資源文件

  Unity可以自動為你進(jìn)行分包操作,只需要你在發(fā)布安卓版本的時候進(jìn)行簡單的設(shè)置,當(dāng)然也可以自己根據(jù)需求通過以下命令進(jìn)行分包。

  // jobb 命令在sdk\tools目錄下jobb -pn-pv-d \資源 -o G:\輸出包名(如main.1.com.google.obb)

  obb擴(kuò)展文件的命名規(guī)則為:

  main文件:main...obb

  patch文件:patch...obb

  按照Unity分包的規(guī)則,主APK文件主要包括Java、Native代碼、游戲腳本、插件以及第一個場景包含的所有資源。Obb包主要是資源文件,在Unity打包Apk過程中,會把所有的資源文件(包括 streaming Assets)打包到Assets目錄下,而Obb分包后會將第一個場景以外的資源都打包到Obb目錄中,在Apk啟動后,會根據(jù)相應(yīng)命名規(guī)則從Obb中加載資源文件。而在Unity里面為了安全性還封裝了一些校驗規(guī)則,下面會提取出相關(guān)的校驗規(guī)則供我們下載校驗(這只針對通過Unity直接打包會生成相關(guān)的校驗規(guī)則,如果你是導(dǎo)出工程然后再進(jìn)行分包、打包那么Unity這套規(guī)則并不直接適用于你,為了安全性你可以自己實現(xiàn)一套類似的規(guī)則)。

  如何使用Obb擴(kuò)展資源文件

  大多數(shù)情況下,當(dāng)用戶從Google Play上下載應(yīng)用時,Google Play會自動將APK文件和擴(kuò)展文件同時下載下來,至于具體是哪些cases下Google Play無法下載擴(kuò)展文件并沒有說明,此外即使Google Play正確的下載了擴(kuò)展文件,但是由于擴(kuò)展文件存放的目錄是可以被用戶和其他應(yīng)用訪問的。但是Google Play并不總是保證一定會下載擴(kuò)展文件,一般情況下我們需要將生成的apk以及obb下載下來的擴(kuò)展文件有可能會被用戶或其他應(yīng)用刪除。

  其次,我們的安裝包除了在Google Play平臺,也會在其他渠道上架,所以為了保證用戶下載簡潔可靠,我們需要在應(yīng)用中自行實現(xiàn)擴(kuò)展文件完整性檢查和下載的機(jī)制。

  如何手動下載Obb資源擴(kuò)展文件

  1.如果你的Obb擴(kuò)展文件上傳到Google平臺,那么你可以使用Android中提供的APK擴(kuò)展文件下載庫Downloader Library來簡化擴(kuò)展文件檢查和下載的邏輯,具體可以參考以及Google Play APK擴(kuò)展文件機(jī)制及開發(fā)流程詳解,然而這種方式限制多多,需要支持google框架,不能應(yīng)用于其他渠道等等...

  2.將擴(kuò)展文件上傳到自己的服務(wù)器,原理上就可以適用于所有的渠道,需要的就是實現(xiàn)一個網(wǎng)絡(luò)下載器。

  手動校驗Obb是否已經(jīng)下載完成

  UnityPlayer是一個UI場景類,在UnityPlayerActivity會初始化該類,在進(jìn)入游戲前,這個類里面會讀取本地Obb文件生成校驗碼并與打包Apk時,配置在setting.xml中的校驗表對比,如果校驗失敗,則不會進(jìn)入游戲場景,配置表如下:

  Assets/bin/Data/Setting.xml

<?xml version="1.0" encoding="UTF-8"?><settings>  <integer name="splash_mode">0</integer>  <bool name="useObb">True</bool>  <bool name="9f6f9912e7e5c791037078042be85f73">True</bool></settings>

  splash_mode:應(yīng)該是定義啟動模式

  useObb:是否使用Obb,如果沒有使用Unity進(jìn)行Obb分包,那么該選項始終是False。

  9f6f9912e7e5c791037078042be85f73:表示加密算法生成的校驗碼。

  項目中需要做的是在進(jìn)入游戲后去進(jìn)行一次Obb校驗,防止用戶重復(fù)下載Obb,如果校驗失敗就需要我們在游戲中自動去下載Obb包,我們把Unity中校驗Obb的步驟拎出來,一共三部。

  檢測Obb文件是否存在

  根據(jù)Obb文件生成校驗碼

  讀取setting.xml文件,并與校驗碼做對比

  下面的具體的一些代碼,主要規(guī)則來源于UnityPlayer。

  獲取Obb文件

  /**

  * 獲取應(yīng)用obb位置

  * @param paramContext

  * @return

  */

  private static String[] getObbPath(Context paramContext) { String str1 = paramContext.getPackageName();

  VectorlocalVector = new Vector(); try {

  int i1 = paramContext.getPackageManager().getPackageInfo(str1, 0).versionCode; if (Environment.getExternalStorageState().equals("mounted")) {

  File localFile1 = Environment.getExternalStorageDirectory();

  File localFile2 = new File(localFile1.toString()

  + "/Android/obb/" + str1); if (localFile2.exists()) { if (i1 > 0) { String str3 = localFile2 + File.separator + "main."

  + i1 + "." + str1 + ".obb"; if (new File(str3).isFile()) {

  localVector.add(str3);

  }

  } if (i1 > 0) { String str2 = localFile2 + File.separator + "patch."

  + i1 + "." + str1 + ".obb"; if (new File(str2).isFile()) {

  localVector.add(str2);

  }

  }

  }

  } String[] arrayOfString = new String[localVector.size()];

  localVector.toArray(arrayOfString); return arrayOfString;

  } catch (PackageManager.NameNotFoundException localNameNotFoundException) {

  } return new String[0];

  }

  加密生成校驗碼算法:

  /**

  * 通過obb文件獲取加密MD5

  * @param paramString

  * @return

  */

  private static String getMd5(String paramString) { try {

  Log.d("WARX", "path = " + paramString);

  MessageDigest localMessageDigest = MessageDigest.getInstance("MD5");

  FileInputStream localFileInputStream = new FileInputStream(

  paramString); long lenght = new File(paramString).length();

  localFileInputStream.skip(lenght - Math.min(lenght, 65558L)); byte[] arrayOfByte = new byte[1024]; for (int i2 = 0; i2 != -1; i2 = localFileInputStream

  .read(arrayOfByte)) {

  localMessageDigest.update(arrayOfByte, 0, i2);

  }

  BigInteger bi = new BigInteger(1, localMessageDigest.digest());

  Log.d("WARX", "md5 = " + bi.toString(16)); return bi.toString(16);

  } catch (FileNotFoundException localFileNotFoundException) {

  } catch (IOException localIOException) {

  } catch (NoSuchAlgorithmException localNoSuchAlgorithmException) {

  } return null;

  }

  這里主要是根據(jù)文件的長度生成的一個md校驗碼。

  解析XML算法:

  private static Bundle getXml(Context context) {

  Bundle bundle = new Bundle();

  XmlPullParser localXmlPullParser; // int i1;

  String str; try {

  File localFile = new File(context.getPackageCodePath(), "assets/bin/Data/settings.xml"); Object localObject1; if (localFile.exists())

  localObject1 = new FileInputStream(localFile); else

  localObject1 = context.getAssets()

  .open("bin/Data/settings.xml");

  XmlPullParserFactory localXmlPullParserFactory = XmlPullParserFactory

  .newInstance();

  localXmlPullParserFactory.setNamespaceAware(true);

  localXmlPullParser = localXmlPullParserFactory.newPullParser();

  localXmlPullParser.setInput((InputStream) localObject1,null);

  int type = localXmlPullParser.getEventType(); Object localObject2 = null;

  str = null; while (type!=1) { switch (type) { case 2: if (localXmlPullParser.getAttributeCount()==0) {

  type = localXmlPullParser.next(); continue;

  }

  str = localXmlPullParser.getName();

  localObject2 = localXmlPullParser.getAttributeName(0); if (!localXmlPullParser.getAttributeName(0).equals("name")){

  type = localXmlPullParser.next(); continue;

  }

  localObject2 = localXmlPullParser.getAttributeValue(0); if (str.equalsIgnoreCase("integer")) {

  bundle.putInt((String) localObject2,

  Integer.parseInt(localXmlPullParser.nextText()));

  } else if (str.equalsIgnoreCase("string")) {

  bundle.putString((String) localObject2,

  localXmlPullParser.nextText());

  } else if (str.equalsIgnoreCase("bool")) {

  bundle.putBoolean((String) localObject2, Boolean

  .parseBoolean(localXmlPullParser.nextText()));

  } else if (str.equalsIgnoreCase("float")) {

  bundle.putFloat((String) localObject2,

  Float.parseFloat(localXmlPullParser.nextText()));

  } break; default: break;

  }

  type = localXmlPullParser.next();

  }

  } catch (Exception localException) {

  localException.printStackTrace();

  } return bundle;

  }

  這里將xml中的數(shù)據(jù)讀取到一個Bundle中進(jìn)行保存,Bundle內(nèi)部實現(xiàn)是Map。最后我們可以將生成的校驗碼與setting.xml中獲取的校驗碼進(jìn)行對比,如果校驗失敗就可以啟動下載流程了,下載完成后重啟Activity,重新讀取Obb文件并加載資源。

  /**

  * 重啟Activity

  * @param context

  */

  public static void restartApplication(Activity context) {

  PackageManager packageManager = context.getPackageManager();

  Intent intent = packageManager.getLaunchIntentForPackage(context.getPackageName());

  ComponentName componentName = intent.getComponent();

  Intent mainIntent = IntentCompat.makeRestartActivityTask(componentName);

  mainIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

  context.startActivity(mainIntent);

  System.exit(0);

  }

  關(guān)于使用obb所涉及到的權(quán)限問題

  最近需要把應(yīng)用所用的權(quán)限最小化,那么獲取obb是否需要權(quán)限,這是一個非常坑的東西,先看看官方的文檔。

  從文檔上可以看出來,是android 6.0需要權(quán)限,除了6.0都無需權(quán)限,但是使用我們手里的6.0設(shè)備去嘗試沒有權(quán)限都可以下載obb正常進(jìn)行游戲,但是使用google play下載之后部分6.0機(jī)型讀取bugly上報訪問obb路徑被拒絕了,使用測試機(jī)也發(fā)現(xiàn)是偶發(fā)現(xiàn)象,下載了多次游戲,第一次的時候出現(xiàn)了訪問路徑拒絕,這就非常的蛋疼了。加上權(quán)限是肯定不會出問題的,我們剔除權(quán)限前游戲從未上報過這個問題,目前我們是增加了用戶讀取內(nèi)存權(quán)限解決問題。

  更多關(guān)于unity培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗,采用全程面授高品質(zhì)、高體驗培養(yǎng)模式,擁有國內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實現(xiàn)高薪夢想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
軟件開發(fā)管理流程中會出現(xiàn)哪些問題?

一、需求不清需求不明確是導(dǎo)致項目失敗的主要原因之一。如果需求沒有清晰定義,開發(fā)人員可能會開發(fā)出不符合用戶期望的產(chǎn)品。二、通信不足溝通問...詳情>>

2023-10-14 13:43:21
軟件定制開發(fā)中的敏捷開發(fā)是什么?

軟件定制開發(fā)中的敏捷開發(fā)是什么軟件定制開發(fā)中的敏捷開發(fā),從宏觀上看,是一個高度關(guān)注人員交互,持續(xù)開發(fā)與交付,接受需求變更并適應(yīng)環(huán)境變化...詳情>>

2023-10-14 13:24:57
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨特的優(yōu)勢和特點。包括其...詳情>>

2023-10-14 12:34:11
主站蜘蛛池模板: 无码人妻精品一区二区三区不卡| 国产精品VA无码免费| 亚洲AV永久无码天堂网| 国产丰满大屁股XXXX| 久久久噜噜噜久噜久久| 男女乱婬免费视频黑人| 国产亚洲成AV人片在线观黄桃| 色婷婷五月综合亚洲影院| 色婷婷AV一区二区三区浪潮慧瑟| 调教小SAO货撅起打屁股作文 | 曰本真人性做爰ⅩXX| 亚洲色成人中文字幕网站| 日本熟妇人妻XXXXX中文| 久久AⅤ人妻少妇嫩草影院| 女主播屁G裸露W身曝光| 一区二区AV在线| 精品久久久久久国产潘金莲| 中文字幕人妻无码系列第三区| 外国操逼全黄视频| 精品少妇人妻AV无码专区| 好深好湿好硬顶到了好爽| 岳潮湿的大肥梅开二度第三部最新 | 色婷婷粉嫩AV精品综合在线 | 无人区码一码二码三码在线| 日韩内射美女人妻一区二区三区 | 双腿被绑成M型调教PⅠAY照片| 久久久久亚洲AV无码永不| 亚洲婷婷综合色高清在线| 国产精品成人影院在线观看| 国产精品99久久久久久猫咪| 国产旡码高清一区二区三区| 刺激Chinese乱叫国产高潮| 国产成人啪精品视频网站午夜| 精品熟女AV少妇免费久久自慰| 色狠狠久久AV北条麻妃| 久久精品亚洲乱码伦伦中文| 嫩草在线视频WWW免费看| 老熟妇高潮一区二区三区网| 国产精品成人影院在线观看| 小东西好几天没弄了还能吃吗| 亚洲AV中文无码乱人伦在线播放 | 色视频WWW在线播放国产人成| 人成AAAAA毛天堂片| 国内精品久久久久精免费| 无码人妻精品一区二区三区99仓 | 中文字日产幕码三区的做法步| 成人麻豆精品激情视频在线观看| 亚洲啪AV永久无码精品放毛片| 日本乱熟人妻精品中文字幕| 又粗又硬又大又爽免费视频播放| 国内精品九九久久精品| 女士不遮阴小内搭| 免费看成人AV片| 蜜臀AV无码一区二区三区| 人久久精品中文字幕无码小明47| 亚洲大尺度无码专区尤物| 苍井空无码免费换线| 成人A级毛片免费播放| 国产韩国精品一区二区三区| 中文国产成人精品久久水蜜桃| 视频视频APP在线看| 成人爽A毛片免费| 无码视频免费一区二三区| 午夜无码伦费影视在线观看果冻| 亚洲精品无码专区| 哦┅┅快┅┅用力啊┅警花少妇| 无码口爆内射颜射后入| 欧美、另类亚洲日本一区二区| 日本三级强伦姧护士HD| 国产精品无码无片在线观看 | 好男人好资源在线观看免费视频 | 国产高清在线观看AV片麻豆| 国产精品无码素人福利| 亚洲 日韩 欧美 成人 在线| 强行糟蹋人妻HD中文字幕| 日本一道综合久久AⅤ久久| 装睡被陌生人摸出水好爽| 中文无码制服丝袜人妻AV| 欧美变态另类ZOZO| 亚洲无AV码一区二区三区| 亲子乱AⅤ一区二区三区| 国产女人喷潮视频在线观看| 无码视频一区二区三区在线观看 | 无套内谢少妇毛片免费看看| 丰满人妻熟妇乱又伦精品| 欧洲美女粗暴交视频| 小婷又软又嫩又紧水又多| 国产精品久久久久久久久岛| 久久久久蜜桃精品成人片公司| 亚洲国产精品久久久久秋霞影院| 中国自产一战二战三战来源 | 精品无码成人片一区二区| 少妇自慰喷AV免费网站| 色狠狠色狠狠综合天天| 波多野结衣迅雷种子| 粗大从后面狠狠贯穿H| 国产粗语刺激对白ⅩXX| 成人无码区免费AⅤ片| 岳打开双腿开始配合交换| 日本做受高潮好舒服视频| 久久大香伊蕉在人线国产H| 蜜臀国产AV天堂久久无码蜜臀| 国产精品亚洲一区二区无码| 夜色毛片永久免费| 国内偷自第一区二区三区| 亚洲AV无码国产精品色午| 免费一对一真人视频| 一女被两男吃奶玩乳尖| 精品推荐国产AV剧情| 色综合精品无码一区二区三区| 国产成人亚洲综合无码99| 亚洲色大成网站WWW永久| 久久综合给合久久狠狠狠97色 | 成人动漫在线观看| 日韩AV无码久久精品免费 | 女人丝不挂的正面裸体| 亚洲色大成网站WWW永久| 青草青草视频2免费观看 | 亲孑伦一区二区三区| 真实的国产乱ⅩXXX66小说| 国产女人水真多18毛片18精品 | 色婷婷成人综合激情免费视频| 国产V亚洲V天堂A无码久久蜜桃| 亚洲av无码一区二区三区dv| 苍井空无码免费换线| 亚洲精品无码专区| 欧洲熟妇色XXXXⅩ欧美老妇天| 脱了老师内裤猛烈进入的软件| 色狠狠一区二区三区香蕉| 嫩草研究院久久久精品| 国产精品爽爽V在线观看无码| 国产成人8X视频网站| 日本人XXXX1819HD| 亚洲精品无码成人| 国产国产精品人在线观看 | 永久免费观看美女裸体的网站| 成年黄网站18禁免费观看一区| 无码精品黑人一区二区三区| 国产一区二区三区自产| 欧洲免费无线码在线一区 | 成人羞羞视频免费网站| 亚洲中文字幕无码不卡电影| 无码精品人妻一区二区三区免费看| 亚洲国产一区二区三区| 高清播放器欧美大片| 区二区三区国产精华液区别大吗| 成年动作片AV免费网站| 国产亚洲精品第一综合麻豆| 欧美人与性动交α欧美精品| 少妇爆乳无码AV专区网站寝取 | 强奷乱码中文字幕熟女导航| 一面亲上边一面膜下边| 无码人妻精一区二区三区老牛| 大象成品W灬源码1| 西方37大但人文艺术任汾A级 | 试看A级看一毛片二十分钟| 亚洲婷婷综合色高清在线| 无码人妻av一区二区三区毛片| 性色AⅤ一区二区三区天美传媒| 精品久久久久久国产潘金莲| 精品国产一区二区三区2021| 国产精品久久久久久久久电影网| 饭桌上故意张开腿让公在线观| 成人无码无遮挡很H在线播放| 草莓视频APP下载| 欧美性猛交XXXX乱大交丰满| 国产欧美精品一区二区三区四区| 亚洲一线产区和二线产区的区别| 日韩内射美女人妻一区二区三区| 久久久久亚洲AV无码专区网站| 国产成人精品久久综合| 男人女人做爽爽18禁免费| 亚洲AV无码国产精品色| 国产免费破外女真实出血视频 | 国产在线视频一区二区三区| 成年网站未满十八禁在线观看| 淑芬二腿间又痒了| 国产美女丝袜一级肛交蜜桃| 西方最大但人文艺术| 综合成人亚洲偷自拍色| 隔壁人妻偷人BD中字| 国产成人片AⅤ在线观看| 久久久久久精品免费无码| 日本无吗无卡V免费清高清| 无码人妻精品一区二区三区不卡 | 国产韩国精品一区二区三区| 国精产品一区一区三区M| 精品影片在线观看的网站| 久久婷婷五月综合色高清图片 | 亚洲AV中文无码4区| 中国老熟女重囗味HDXX| 亚洲AV无码一区二区二三区我| 永久免费观看美女裸体的网站| 在线精品国产一区二区三区| 亚洲精品无码成人| 麻豆传播媒体2023最新网站 | 午夜无码伦费影视在线观看| 日韩精品专区AV无码| 久久精品午夜一区二区福利| 国产精品视频色拍拍| 无码人妻av一区二区三区毛片| 熟妇人妻无乱码中文字幕| 国产成人精品无码播放| 久久久久久老熟妇人妻av| 永久免费的啪啪免费网址| 国产亚洲午夜高清国产拍精品 | 无码人妻精品一区二区三区99不卡| 岳丰满多毛的大隂户老太的介绍| 日产2021免费一二三四| 成人女人爽到高潮的Av在线| 精品久久久久久国产潘金莲| 人妻无码熟妇乱又视频| 无码专区人妻系列日韩| 影音先锋2020色资源网| 成人无码AⅤ在线播放| 丰满少妇A级毛片| 国产男男激情VIDEOSGAY| 哈昂~哈昂够了太多了男男| 公的下面好大弄得我好爽| 丰满大屁股熟女偷拍内射| 激情偷乱人伦小说视频在线| 国产成人AV无码精品天堂| 亚洲无人区码一码二码三码的含义| 征服贵妇内射在线| 欧美大胆A级视频免费| 非洲人与性动交CCOO| 在线看AV片的网站| 蜜桃AV秘 无码一区二区三区| 久久精品国产亚洲AV高清色欲| 国产农村乱人伦精品视频| 国产成人愉拍免费视频| 脱色摇床THERMO网站| 国产精品久久久久久TV| 日本最新高清一区二区三| 国产旡码高清一区二区三区| 色婷婷五月综合亚洲影院| 久久国产精品免费一区| 亚洲精品无码久久| 草莓影视在线观看视频| 久久精品囯产精品亚洲| 任你躁X7X7X7X7在线观看| 亚洲AV永久无码区成人网站| 粉嫩少妇内射浓精VIDEOS| 国内AI明星造梦鞠婧祎MV| 欧洲美熟女乱又伦AV曰曰| 我和子发生了性关系视频| 一受多攻同做H嗯啊巨肉| 成人一区二区免费中文字幕视频 | 国产成人无码精品久久久露脸| 一本大道色卡1卡2卡3| 亚洲美女国产精品久久久久久久久| 国产女人喷潮视频在线观看| 国产精品VIDEOSSEX久久发布| 久久精品亚洲精品无码金尊| 国产对白videos麻豆高潮| らだ天堂√在线中文WWW| 成人无码AV网站在线观看| 在线看AV片的网站| 人体内射精一区二区三区| 精品国产一区二区AV片| 刺激Chinese乱叫国产高潮| 差差差很疼视频无掩丰富| 欧美综合自拍亚洲图久青草| 国产成人精品一区二三区 | 无码国内精品人妻少妇| 男人J放进女人J无遮挡免费看 | 香蕉97超级碰碰碰视频| 破了亲妺妺的处免费视频国产| 国内精品久久久人妻中文字幕| 办公室紧身女教师| 久久久久精品少妇9999| 区产品乱码芒果精品P站| 宝贝你的奶好大我想吃| 国产高清在线A视频大全| 好男人无码内射AV| 黑人又大又粗又长欧美网站| 漂亮人妻洗澡被公强 日日躁| 亚洲AV无码国产精品色午友情链 | 亚洲AV无码专区国产乱码不卡| 琪琪秋霞午夜AV影院| 色综合AV综合无码综合网站 | 欧美成人A天堂片在线观看| 宝贝儿感受到它对你的爱了吗小说| 经典国产乱子伦精品视频| 国产精品无码久久久久| 成人无码区免费AⅤ片WWW软件| 国产精品亚洲片夜色在线| 国产乱人伦偷精品视频免| 久久久久久久久精品无码中文字幕 | 人妻少妇精品视频aaa| 日本最新免费二区三区| 狠狠色狠狠色综合久久| 成色好的Y31S标准版| 欧美体内SHE精视频| 国产福利在线 | 传媒| 亚洲色成人中文字幕网站| 久久97超碰色中文字幕总站| 差差差很疼视频30分钟无掩盖| 外国操逼全黄视频| 嗯好爽快点插我视频在线播放 | 蜜桃传媒在线观看免费版7| 极品无码AV国模在线观看| 小辣椒AV福利在线网站| 妇女AV中文精品字幕XXX| 欧美性色黄大片WWW喷水| 亚洲色成人一区二区三区小说| 久久精品无码一区二区日韩AV | 老阿姨哔哩哔哩B站肉片茄子芒果| 国产蜜臀AV无码一区二区三区| 日本适合十八岁以上的护肤品男 | 国产美女丝袜一级肛交蜜桃| 欧美性饥渴少妇XXXⅩOOOO| 性VODAFONEWIFI另类| 国内精品久久影院综合日日| 欧美又粗又长XXXXBBBB疯| 玩弄JaPan白嫩少妇一区二区| 性VODAFONEWIFI另类| 日韩少妇内射免费播放| 欧美体内SHE精视频| 精品无人区一线二线三线区别| 区产品乱码芒果精品P站| 国产精品一国产精品一K频道 | 少妇WWB搡BBBB搡BBBB| 欧亚精品一区三区免费| 高清人人天天夜夜曰狠狠狠狠| 丁香五月天天综合亚洲| 亚洲国产另类久久久精品小说 | 国产成人AV无码精品天堂| 办公室撕开奶罩揉吮奶漫画| 全部免费A级毛片| 成人国产亚洲精品A区 | 日产精品久久久久久久| 久久精品亚洲乱码伦伦中文 | 猫咪AV最新永久网址无码| 在线看AV的网站| 丰满大屁股熟女偷拍内射| 欧美激情视频一区| 波多野结衣初尝黑人巨大| 韩漫漫画无遮挡免费| 欧美丰满熟妇BBB久久久| 亚洲AV日韩AV永久无码水密桃| 国内AI明星造梦鞠婧祎MV| 奇米综合四色77777久久| 无码一区在线视频| 无码熟妇人妻AV在线一| 亚洲av无码一区二区三区dv| 粗大的内捧猛烈进出少妇| 国产成人无码免费看片软件 | 日本三级强伦姧护士HD| 人曾交互MOUSE农场| 男阳茎进女阳道啪啪| 美女扒开内裤无遮挡| 丰满人妻一区二区三区视频53 | 国产精品免费AV片在线观看| 国内精品视频一区二区三区八戒| 激情五月丁香六月综合AVXXXX| 国产成人午夜在线视频A站| 绯色AV一区二区三区在线高清| WWW夜片内射视频日韩精品成人| 丰满爆乳在线播放| 破外女出血视频全过程| 国产男女猛烈无遮挡免费视频| 亚洲AV午夜成人片精品| 精品视频无码一区二区三区| 野花高清中文免费观看视频| 欧美黑人乱猛交xX 乂500 | 吃奶呻吟打开双腿做受在线视频| 幼儿HIPHOP仙踪林的| 久久久综合九色综合鬼色| 中国女人内射69XXXXⅩ视频 | 国产猛烈高潮尖叫视频免费| 无码中文字幕AV免费放DVD| 国产9 9在线 | 中文| 欧美性色XXⅩXXA片HD| 亚洲AV无码专区国产乱码DVD | 国产一产二产三精华液| 人妻三级日本香港三级极97| 在线播放亚洲第一字幕| 好男人影视官网在线WWW| 久久久久成人精品| 国产成人一区二区三区免费| 国产亚洲成AV人片在线观黄桃| 热RE99久久精品国99热| 毛很浓密超多黑毛| 好深好湿好硬顶到了好爽| 国产麻花豆剧传媒精品MV在线| 内射老妇女BBWXOGOD| 久久无码一区二区| WWW国产精品内射熟女| 亚洲AV综合色区无码4区| 欧美激情视频一区| 国产又色又刺激高潮视频| 国产免费看MV大片的软件| 午马视频影院1区2区3区4区| 女人被男人爽到呻吟的视频| 精品人妻一区二区三区四区在线| 儿子比老公更大更硬朗| 日韩一区无码视频| 成人羞羞视频免费网站| 任你躁国产自任一区二区三区| 国产精品亚洲专区无码导航 | 久久久久久精品免费免费WER | 我和亲妺妺乱的性视频| 国产精品免费高清在线观看| 色婷婷五月综合激情中文字幕| 肥胖BMGBMGBMG多毛图片| 韩国青草无码自慰直播专区| 人人妻人人澡人人爽人人爱看 | 高清偷自拍亚洲精品三区| 欧美大波少妇在厨房被|