久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

如何在Android Studio下進行NDK開發

瀏覽:72日期:2022-09-24 10:42:25

在AS中進行NDK開發之前,我們先來簡單的介紹幾個大家都容易搞懵的概念:

1. 到底什么是JNI,什么是NDK?

2. 何為“交叉編譯”?

先看什么是JNI?JNI的全稱就是Java Native Interface,即java本地開發接口。可能大家和我一樣,一聽到接口什么的就犯懵:“我也知道這是java本地開發接口的意思,但它具體是個什么意思我還是搞不明白。”其實JNI它就是一種協議,一說協議,那它就是對某種東西的一個規范和約束,說的好聽一點就是標準化。如果你想用我這個東西,那你必須要遵守我這邊的規范。像http協議一樣,http作為超文本傳輸協議,它規范了我們上網時從客戶端到服務器端等一系列的運作流程。正因為如此,我們才能暢通無阻的上網。那么換做JNI也一樣,只不過JNI這個協議是用來溝通java代碼和外部的本地代碼(c/c++)。也就是說有了JNI這個協議,我們才能夠隨意的讓java代碼調用C/C++的代碼,同樣C/C++的代碼也可以調用java的代碼。如果沒有這個協議作為支撐,那么java和C/C++代碼想要相互調用是不可能的。下面通過兩個圖簡單看一下JNI協議在系統架構中處于什么位置:

如何在Android Studio下進行NDK開發

在上圖中,上層綠色的部分一般都是用Java代碼寫的,下層橘黃色的部分一般都是用C/C++代碼寫的。可以看出,正式由于有了中間JNI的存在我們才可以在Application層通過JNI調用下層中的一些東西。了解了JNI的概念后,我們再看看NDK,NDK(Native Development Kit)就比較好理解了,它就是一個本地開發的“工具包”。Java開發要用到JDK,Android開發要用到SDK,那我們在Android中要進行native開發,也要用到它對應的工具包,即NDK。通俗的來講,NDK就是幫助我們可以在Android應用中使用C/C++來完成特定功能的一套工具。 NDK的作用有很多,我們簡單的列舉兩個,比如:

1.首先NDK可以幫助開發者“快速”開發C(或C++)的動態庫。

2.其次,NDK集成了“交叉編譯器”。使用NDK,我們可以將要求高性能的應用邏輯使用C開發,從而提高應用程序的執行效率。

上面提到了“交叉編譯”,我們最后再解釋一下什么是交叉編譯。大家都知道編譯器在將中間代碼連接成當前計算機可執行的二進制程序時,連接程序會根據當前計算機的CPU、操作系統的類型來轉換。而根據運行的設備的不同,CPU的架構也是不同,大體有如下三種常見的CUP架構:

arm結構 :主要在移動手持、嵌入式設備上。我們的手機幾乎都是使用的這種CUP架構。 x86結構 : 主要在臺式機、筆記本上使用。如Intel和AMD的CPU 。 MIPS架構:多用在網關、貓、機頂盒等設備。

若想在使用了基于x86架構CPU的操作系統上編譯出可以在基于arm結構CPU的操作系統上運行的代碼,就必須使用交叉編譯。所以綜上所述:交叉編譯就是在一個平臺下(比如:CPU架構為X86,操作系統為Windows)編譯出在另一個平臺上(比如:CPU架構為arm,操作系統為Linux)可以執行的二進制代碼。Google提供的NDK就可以完成交叉編譯的工作。

好了,上面的基本概念介紹完以后,我們正式進入AS下NDK開發的講解。

1.首先,你需要把NDK下載下來NDK下載。下載完成后解壓到任意目錄即可(路徑中不要帶有中文字符)。我的就直接放在D盤的ndk目錄下:

如何在Android Studio下進行NDK開發

2.在AS中為你的項目配置NDK。首先新建一個Android工程JNIDemo,Ctrl + shift + alt + s打開Project Structrue把我們剛才下載好的NDK配置進去,點擊OK。

如何在Android Studio下進行NDK開發

3.配置好NDK后,簡單的為我們的項目布局文件添加一個TextView和一個Button,當點擊Button的時候,我們通過調用底層自己寫好的C/C++代碼來返回一個字符串,最后呈現在TextView上。activity_main.xml布局代碼:

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' android:layout_height='match_parent' android:orientation='vertical'> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:text='Hello World!' /> <Button android: android:layout_width='match_parent' android:layout_height='wrap_content' android:text='button'/></LinearLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView textview = findViewById(R.id.textview); Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {textview.setText(JNIUtils.sayHelloFromJNI()); } }); }}

上面代碼中的JNIUtils.sayHelloFromeJNI()就是我們在與MainActivity相同的包中新建JNIUtils類后在里面編寫的native方法。如下所示:

如何在Android Studio下進行NDK開發

可以看到我們上面的sayHelloFromJNI()方法顯示的是警告紅色。把鼠標放到上面,它會提示我們對應的JNI頭文件沒有查找到。那么接下來我們要做的就是去生成與這個sayHelloFromJNI()方法所對應的頭文件。

4.生成頭文件。快捷鍵alt + F12調出AS下的Terminal窗口,在Terminal命令行窗口中輸入如下幾條指令,回車:

如何在Android Studio下進行NDK開發

前面兩個cd命令沒什么好說的,就是先進入當前項目的app目錄下,然后再進入Java目錄下。我們重點說一下最后一條命令:javah -d ../jni com.example.zhangxudong.jindemo.JNIUtils。首先,要生成Java類對應的頭文件我們就必須要用到javah這個命令,其次-d表示生成一個目錄,那生成一個什么樣的目錄,具體又在哪里去生成這個目錄呢?后面的../jni告示了我們。../表示在當前目錄的上一層目錄,我們當前在Java目錄下,那么它的上層目錄就是main目錄了。而jni就表示我們生成的目錄的名稱。所以整個../jni就表示在main目錄下生成一個名為jni的目錄。最后一個com.example.zhangxudong.jindemo.JNIUtils就是我們在上面新建的JNIUtils的完整類名了。執行完這幾天指令后,刷新一下目錄我們就可以在main目錄下看到jni這個目錄,并且在它里面生成了我們JNIUtils類所對應的頭文件。進入頭文件中,代碼是如下這個樣子:

/* DO NOT EDIT THIS FILE - it is machine generated */#include <jni.h>/* Header for class com_example_zhangxudong_jnidemo_JNIUtils */#ifndef _Included_com_example_zhangxudong_jnidemo_JNIUtils#define _Included_com_example_zhangxudong_jnidemo_JNIUtils#ifdef __cplusplusextern 'C' {#endif/* * Class: com_example_zhangxudong_jnidemo_JNIUtils * Method: sayHelloFromJNI * Signature: ()Ljava/lang/String; */JNIEXPORT jstring JNICALL Java_com_example_zhangxudong_jnidemo_JNIUtils_sayHelloFromJNI (JNIEnv *, jclass);#ifdef __cplusplus}#endif#endif

5.頭文件生成以后,我們就需要編寫我們的C/C++代碼了。右鍵jni目錄---->new--->C/C++ Source File

如何在Android Studio下進行NDK開發

輸入要新建的C/C++文件名稱JNIHello,這里我們用C++來編寫,所以Type為.cpp,如果你選擇用C來編寫,那么Type選為.c,點擊ok。這里說一下,在我們進行NDK開發的時候,選擇用C還是C++,在編寫代碼的時候除了C和C++基本的語法不同外,還是有許多不同地方需要注意。我們后續會慢慢介紹。這里先默認跟著我的步驟來。

如何在Android Studio下進行NDK開發

JNIHello.cpp代碼如下:

#include 'com_example_zhangxudong_jnidemo_JNIUtils.h'JNIEXPORT jstring JNICALL Java_com_example_zhangxudong_jnidemo_JNIUtils_sayHelloFromJNI (JNIEnv *env, jclass jclass){return env->NewStringUTF('Hello World From JNI!!!!!');}

可以看到我們首先需要把原來生成的JNIUtlis對應的頭文件引入進來,下面的代碼基本都是從com_example_zhangxudong_jnidemo_JNIUtils.h中復制粘貼過來的一部分,然后稍加修改。修改的地方主要有sayHelloFromJNI的兩個參數和里面的簡單實現,參數方面就是加了env和jclass兩個字段。函數里面的實現呢,就是簡單的返回一個字符串“Hello World From JNI!!!!!”,至于為什么這么寫,我會在下一篇文章進行講解,大家現在就需要知道如果要在這里返回一個字符串就必須要通過env->NewStringUTF('xxxxxx');這行代碼。

6.上面的搞定以后,我們需要在app的build.gradle中的defaultConfig中加入如下代碼。它表示項目在編譯時生成的動態庫的名字。

如何在Android Studio下進行NDK開發

最后,我們還需在JNIUitls中加載我們生成的動態庫:

public class JNIUtils { static { System.loadLibrary('JNIHello'); } public static native String sayHelloFromJNI();}

我們把加載動態庫的代碼放到靜態代碼塊中,就是表示在JNIUtils這個類在加載的時候就去加載我們的動態庫。

7.經過上面的5步,關于如何在AS中進行簡單的NDK所需要的步驟差不多就講完了。不過還有最后一點需要注意。到這里我們基本就可以執行一下我們的項目了,現在運行一下項目試一試......不出意外的話項目是build不成功的,它會報如下的錯誤:

Error:Execution failed for task ’:app:compileDebugNdk’.> Error: Flag android.useDeprecatedNdk is no longer supported and will be removed in the next version of Android Studio. Please switch to a supported build system.Consider using CMake or ndk-build integration. For more information, go to:https://d.android.com/r/studio-ui/add-native-code.html#ndkCompileTo get started, you can use the sample ndk-build script the Androidplugin generated for you at:E:JNIDemoappbuildintermediatesndkdebugAndroid.mkAlternatively, you can use the experimental plugin:https://developer.android.com/r/tools/experimental-plugin.htmlTo continue using the deprecated NDK compile for another 60 days, set android.deprecatedNdkCompileLease=1515317190556 in gradle.properties

因為我這里用的是Android Studio3.0,報出的這個錯誤很可能和原來版本的AS不同,以前出現類似錯誤的時候,我們的解決方案一般都是在gradle.properties中添加一行這樣的代碼:android.useDeprecatedNdk=true就搞定了。但是AS換為3.0后你可以再試一下這種方案,肯定是不行的,它會提示你“Flag android.useDeprecatedNdk is no longer supported and will be removed in the next version of Android Studio. Please switch to a supported build system.”大體意思就是最新的AS已經不支持useDeprecatedNdk這個標記了,并且在后續版本的AS中,它將被移除。所以我們新的解決方案就是按照它的提示在gradle.properties中添家android.deprecatedNdkCompileLease=1515317190556這行代碼。

最后我們運行一下項目,點擊button,效果如下。可以看到,我們成功的通過java代碼調用了C++的代碼,并返回Hello World From JNI!!!!!這個字符串。

如何在Android Studio下進行NDK開發

那我們生成的動態庫(.so文件)都在哪里呢?點開app--->build--->intermediates--->ndk--->debug--->libs,可以看到各個平臺對應的動態庫都已經生成了。

如何在Android Studio下進行NDK開發

到此這篇關于如何在Android Studio下進行NDK開發的文章就介紹到這了,更多相關Android Studio下NDK開發內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: 久久叉 | 久久av一区二区三区 | www.久久精品视频 | www.操.com| 免费看一区二区三区 | 精品免费久久久久久久苍 | 久久小视频 | 91精品国产99久久久久久红楼 | 欧美黄色a视频 | 一区二区三区国产视频 | 91视视频在线观看入口直接观看 | 久久大 | 亚洲视频免费在线 | 欧美一区二区三区在线观看视频 | 欧美日韩一区二区三区在线观看 | 国产精品欧美一区二区 | 亚洲一区二区三区四区五区午夜 | 亚洲精品视频一区 | a国产视频 | h片观看| 在线亚洲成人 | 精品一区二区三区视频 | 国产精品ssss在线亚洲 | 国产精品自产拍在线观看 | www,四虎| 久久久久国产 | 久久久精品久久久久久 | 成人在线看片 | 天天干天操 | 欧美一极片| 91精品国产综合久久久久久 | 国产精品久久久久久久久久ktv | 九九热这里只有精品在线观看 | 中文字幕日韩一区二区不卡 | 91精品国产综合久久久久久丝袜 | 国产精品99久久久久久动医院 | 亚洲日韩欧美一区二区在线 | 精品1区2区 | 国产一级一级 | 成人超碰在线观看 | 久久69精品久久久久久久电影好 | 视频一区 日韩 | 国产精品毛片一区二区在线看 | 国产高清毛片 | 国产精品久久久久久中文字 | 久久精品久久久 | 在线精品一区 | 黄色小视频免费观看 | 国产一区二区三区在线看 | 国产一区二区免费 | 精品久久久久久久久久久久久久 | 九九热这里 | 国产成人精品久久二区二区 | 在线看h| 免费黄色片一区二区 | 99视频在线播放 | 激情综合久久 | 福利视频一区 | 天天av网 | 手机看片在线 | 午夜免费观看视频 | 永久91嫩草亚洲精品人人 | 在线观看日韩 | 国产成人jvid在线播放 | 国产一区二区在线免费观看 | 一级人爱视频 | 欧美国产日韩在线 | 久久99国产精品久久99果冻传媒 | 成人免费毛片aaaaaa片 | 午夜精品久久久久久久白皮肤 | 天天干 夜夜操 | 毛片在线视频 | 黄色片com | 免费av大全| 久久久久黄色 | 日韩在线小视频 | 欧美激情a∨在线视频播放 中文字幕网在线 | 国产午夜精品美女视频明星a级 | 国产色网 | 这里只有精品视频 | 中文字幕av网站 | 精品久久久久av | 免费av片 | 成人精品久久久 | 日韩欧美高清视频 | 欧美一级片免费在线观看 | 国产精品久久免费视频 | 一区二区三区四区国产 | 亚洲第一页在线 | 国产精品乱码一区二区三区 | 亚洲一区二区三区免费看 | 欧美一级在线观看 | 人人人人人你人人人人人 | 欧美顶级毛片在线播放 | 国产一级视频 | 99国内精品久久久久久久 | 青青草久久 | 国产一区二区三区高清 | 国产伦精品一区二区三区在线 | www.日韩av.com | 亚洲协和影视 | 国产精选一区二区三区 | 久久久久国产视频 | 国产亚洲精品久久久456 | 欧美视频精品 | 久久综合一区 | 欧美日韩国产一级片 | 国产精品久久久久久久久久99 | 欧美日韩中文字幕 | 老司机福利在线视频 | 国产成人精品一区二 | 欧洲精品在线观看 | 亚洲国产精品一区二区第一页 | 国产精品不卡视频 | 日本激情在线 | 在线播放91 | 中文字幕av在线播放 | 国产精品久久久久久久久大全 | 中文字字幕在线观看 | 精品久 | 日韩欧美在线综合 | 午夜精品久久久久久久久久久久久 | 日韩精品小视频 | 国产精品久久久久久av公交车 | 成人黄色av| 久久久久久亚洲 | 久久亚洲精品中文字幕 | 日韩不卡一区二区 | 伊人激情四射 | 成人久久久精品乱码一区二区三区 | 9色porny自拍视频一区二区 | 一道本一区 | 亚洲国产精品久久久 | 一区二区三区四区在线播放 | 亚洲一区二区三区日韩 | 欧美a网| 精品1区| 亚洲精品乱码久久久久久 | 久久精品视频网站 | 精品三区在线观看 | 日韩毛片免费视频一级特黄 | 日本色道视频 | 性视频亚洲 | 国产精品三级在线 | 中文字幕在线免费看 | 午夜精品一区 | 亚洲第一福利视频 | 国产干干干 | 欧美成在线观看 | 美国特级a毛片免费网站 | 国产大片在线观看 | 成人黄色电影在线观看 | 日韩亚洲一区二区 | 精品久久久久久亚洲综合网 | 久久精品国产免费 | 狠狠撸在线视频 | 97精品国产 | 中文字幕第一页在线 | 伊人短视频 | 亚洲 欧美 精品 | 免费视频二区 | 美女一区 | 超碰av在线 | 亚洲男人天堂2023 | 欧美日韩一区二区视频在线观看 | 成人18视频在线观看 | 久久男女| 密桃av | 精品在线看 | 亚洲精品久久久久久久久久久 | 欧美视频中文字幕 | 99久久视频| 成人精品国产免费网站 | 日韩一区二区在线视频 | www.com欧美| 久久二区三区 | japanhd熟睡侵犯| 久久精品欧美一区二区三区不卡 | 国产精品99久久久久久www | 91精品中文字幕一区二区三区 | 山岸逢花在线 | 99精品欧美一区二区三区 | 欧美亚洲啪啪 | 亚洲精品一区二区三区在线观看 | 午夜视频一区二区 | 久久免费99精品久久久久久 | 亚洲福利影院 | 天天艹夜夜艹 | 亚洲成人免费观看 | 国产91在线视频 | 中文字幕大全 | 久久综合九色综合欧美狠狠 | 国产综合视频在线观看 | 国产一级免费视频 | 成人影院av | 日日爱夜夜爽 | 欧美国产日韩另类 | 久久久久久久久久久久久久久久久久久 | 国产欧美日韩综合精品一区二区 | 国产精品久久久久久久久久妞妞 | m豆传媒在线链接观看 | 久久久久久免费毛片精品 | 欧美一级片免费在线观看 | a在线免费| 99国产精品 | 精品久久久久久久久久久久包黑料 | 久久久久久久久久久精 | 国产天堂网| 国产精品国色综合久久 | 国产精品一区免费在线观看 | 日韩成人高清视频 | 97色综合| 日韩精品| 成人一级片视频 | 久久久久久久久一区二区三区 | 91九色在线观看 | 午夜资源 | 欧洲另类交 | 精品久久久久久亚洲综合网站 | 欧美日韩精品一区二区 | 中文字幕免费看 | 色婷婷久久久swag精品 | 欧美一区二区三区精品 | 久久精品欧美一区二区三区不卡 | 久久三区 | 国产中文字幕在线播放 | 免费看国产一级片 | 精品中文字幕在线 | 欧美一级网 | 精品欧美日韩 | 国产人妖视频 | 黄片毛片在线观看 | 大乳videos巨大吃奶 | 成人tv| 日韩视频在线免费观看 | 国内精品一区二区三区 | 国产综合视频在线观看 | 久久激情五月丁香伊人 | 久久久成人网 | 国产视频一区二区 | 91精品视频在线播放 | 国产区视频 | 午夜三级在线 | 曰批视频在线观看 | 精品久久久久久久久久 | 天天操夜夜干 | 亚洲视频在线看 | 亚洲国产午夜 | 亚洲天堂一区二区 | 国产美女高潮一区二区三区 | 日本小视频网站 | jizzjizz亚洲中国少妇 | 亚洲毛片在线观看 | 日韩精品一区二区在线观看 | 日韩在线精品 | 波多野结衣先锋影音 | 成人天堂资源www在线 | 国产黄色在线观看 | 亚洲不卡网站 | 日韩网站免费观看 | 91精品国产91久久久久久久久久久久 | 亚洲不卡 | 中文字幕av一区二区 | 欧美日韩成人在线观看 | 日韩精品在线一区 | 国产黄色影视 | 免费观看h视频 | 成人在线看片网站 | 欧美激情一区二区三级高清视频 | 国产精品国产三级国产aⅴ原创 | av一级毛片 | 亚洲日本乱码在线观看 | 国产精品久久久久久婷婷天堂 | 日韩大尺度在线观看 | 久久99精品久久久久久琪琪 | 99亚洲| 91一区二区三区久久国产乱 | 色呦呦网站在线观看 | 精品免费国产 | av天天网| 国产精品久久久久一区二区三区 | 久久九九精品视频 | 久久久久国产精品一区二区 | 欧美一区2区三区4区公司二百 | 91视在线国内在线播放酒店 | 久久久免费视频播放 | 国产一级黄色大片 | 亚洲精品毛片一区二区 | 日韩中文字幕在线 | 国产一区二区欧美 | 日韩在线免费观看视频 | 天堂亚洲网 | 国产日韩在线视频 | 精品久久久av | 久久99深爱久久99精品 | 亚洲一区中文 | 在线观看免费av网 | 中文字幕av亚洲精品一部二部 | 精品视频一区二区三区四区 | 亚洲精品区 | 欧洲妇女成人淫片aaa视频 | 免费黄色电影在线观看 | 国产成人毛片 | 亚洲免费在线观看 | 五月激情综合网 | 亚洲毛片 | 亚洲电影一区二区 | 一区二区日本 | 亚洲精品乱码久久久久久花季 | 污片在线免费看 | 福利视频网址导航 | 精品免费av | 日本免费黄色 | 欧美综合成人网 | 欧美国产精品一区 | 一区二区精品 | 久久精品一区二区三区四区 | 伊人狠狠干| 久草最新 | 亚洲成人免费在线观看 | 综合网视频 | 久久久久亚洲精品国产 | 国产成人在线看 | 欧美精品综合 | 亚洲精品国产综合 | 亚洲视频一区二区在线 | 天堂中文资源在线 | 久久精品亚洲 | 成人国产精品一级毛片视频 | 91夜夜 | 精品国产乱码久久久久久1区2区 | 日韩视频在线一区二区 | 国产在线精品一区二区三区 | 一级做a爰片毛片 | 在线看一级片 | 久久99久久99精品 | 久久久久一区二区三区 | 来个毛片 | 国产精品毛片一区二区在线看 | 欧美一级黄色片免费看 | 日韩免费区 | 欧美一区二区 | 婷婷网址| 你懂的免费在线观看 | 一区在线免费观看 | 国产精品视频一二三区 | 免费看国产一级片 | 久久久久精 | 荡女妇边被c边呻吟视频 | 日韩欧美视频一区二区三区 | 亚洲女人天堂网 | 91视频在线| 久久亚洲一区 | 嫩草影院黄色 | 中文字幕综合在线 | 亚洲免费小视频 | 亚洲高清视频在线观看 | 久久免费视频网 | 亚洲成人免费在线 | 密色视频 | 少妇一级淫免费放 | 天天色天天色 | 日韩精品久久理论片 | 中文字幕一区二区三区四区不卡 | 成人亚洲精品 | 伊人网伊人 | 一区二区三区国产精品 | 精品无码久久久久国产 | 午夜精品网站 | 性一级录像片片视频免费看 | 亚洲一区二区高清视频 | 国产亚洲精品久久久久动 | 国产婷婷在线观看 | 亚洲中午字幕 | 国产免费一区 | 免费黄色在线视频网址 | 亚洲福利视频在线 | 国产人成精品一区二区三 | 91爱啪啪| 毛片综合 | 亚洲精品视频在线免费 | 国产精品一区二区久久久 | 日韩在线免费 | 亚洲综合中文 | 日韩视频在线播放 | 日韩中文字幕精品 | 亚洲精品夜夜夜 | 99久久久| www.久久久| 亚洲一在线| 日日干夜夜操 | 欧美成人免费在线视频 | 日韩一片 | 美国黄色毛片女人性生活片 | 日本高清精品 | 成人免费网站www网站高清 | 亚洲成人精品视频 | 欧美亚洲视频 | 在线视频se| 婷婷激情五月 | 国产精品一二 | 欧美日韩在线一区二区 | 99久久精品国产一区二区成人 | 成人18视频在线观看 | 日本成人中文字幕 | 亚洲欧美日韩系列 | 久久精品国产99久久久 | 在线视频二区 | 毛片国产 | 国产综合久久久 | 国产精品久久久久久久岛一牛影视 | 黄色av网站在线免费观看 | 国产亚洲欧美一区二区 | 欧美黄视频在线观看 | 一区二区三区国产亚洲网站 | 一区二区三区视频免费看 | 亚州精品天堂中文字幕 | 天天干天天草 | 亚洲视频免费在线观看 | 91精品久久久久久久久久入口 | 午夜精品网站 | 日韩精品一区二区三区中文字幕 | 伊人国产精品 | 精品毛片 | av77 | 97免费在线观看视频 | 午夜精品久久久久99蜜 | 91婷婷射 | 狠狠爱亚洲 | 亚洲欧美激情精品一区二区 | 欧美一区二区三区在线观看 | 国产伦精品一区二区三区照片91 | 一区二区三区四区在线 | 操夜夜| 国产精品国产三级国产aⅴ中文 | 4hu网站 | 日韩欧美三区 | 九九亚洲精品 | 国产在线精品一区二区 | 伊人一区 | 日韩欧美在线播放视频 | 欧美一区二区三区四区视频 | 国产精品一区二区久久久 | 99爱视频| 国产韩国精品一区二区三区 | 色综合天天综合网国产成人网 | 久久午夜视频 | 成人影院在线 | 欧美久久久久 | 成人影院欧美黄色 | 国产精品片aa在线观看 | 日本在线观看 | 韩国三级午夜理伦三级三 | 日本一区二区不卡视频 | 日韩国产在线 | 色综合天天综合网国产成人网 | 久久九九精品视频 | 日韩欧美一区二区三区久久婷婷 | 午夜精品一区二区三区在线视频 | 国产精品久久久精品 | 国产一级做a爰片在线看免费 | 国产中文字幕在线观看 | 精品日韩在线 | 国产精品一区人伦免视频播放 | 蜜臀视频在线观看 | 国产精品久久久久久久久久久久久 | 五月免费视频 | 欧美日韩成人在线视频 | 日韩免费高清视频 | 国产精品69久久久久水密桃 | 91在线免费视频 | 日韩欧美在线观看一区二区三区 | 在线观看一区二区三区四区 | 国产精品毛片久久久久久久 | 日韩欧美国产精品综合嫩v 久久久久久国产精品高清 国产目拍亚洲精品99久久精品 | 日本亚洲精品成人欧美一区 | 欧美日韩中文 | 精品久久伊人 | 久久国产精品99久久久久久牛牛 | 成年人视频免费在线看 | 欧美中文一区 | 玖玖精品 | 午夜精品一区二区三区在线 | 女同理伦片在线观看禁男之园 | 国产一级一级特黄女人精品毛片 | 日韩成人免费中文字幕 | 一区二区三区国产视频 | 伊人一二三区 | 国产黄视频在线 | 国产精品久久久久久久久久久不卡 | 亚洲视频中文字幕 | 国产精品亚洲区 | 亚洲情综合五月天 | av在线日韩 | 精品国产乱码久久久久久闺蜜 | 日韩免费在线观看视频 | 一区二区精品在线 | 国产成人精品一区二区三区 | 国产一区二区综合 | 全黄大全大色全免费大片 | 33eee在线视频免费观看 | 日韩高清av | 高清在线一区二区 | 国产主播久久 | 久久91精品| 成人av片在线观看 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 国产黄色大片免费看 | 一区二区视频免费 | 日韩欧美综合 | 日韩成人精品在线观看 | 日韩在线免费观看av | 久久另类 | 精品久久久久久久久久久久 | 一区二区日本 | 精品久久av | 久久这里有精品 | 99久久婷婷国产综合亚洲 | av大片 | 欧洲黄色 级黄色99片 | 欧美卡一卡二 | 男女羞羞视频免费看 | 毛片精品 | 欧美性猛交一区二区三区精品 | 欧美精品一区二区三区蜜桃视频 | 黄色av观看 | 天天操天天干天天爽 | 黄色国产 | 日本妇人成熟免费视频 | 中文字幕亚洲一区二区三区 | 日韩精品1区 | 黄色91在线| 一级久久久 | 亚洲毛片 | 久久综合狠狠综合久久综合88 | 成人免费视频网站在线观看 | 密色视频| 青青草99 | 亚洲精品久久久久久久久 | 91精品一区二区三区久久久久久 | 欧美国产在线观看 | 91尤物网站网红尤物福利 | 久久精品国产精品青草 | av超碰| 在线精品国产 | av日韩在线播放 | h视频在线免费观看 | 久久草在线视频 | 国产视频第一页 | 欧美视频在线观看一区 | 一区不卡| 99精品国产热久久91蜜凸 | 成人国产网站 | 国产精品1区 | 毛片一级 | 亚洲伦理一区 | 一区二区国产精品 | 妞干网福利视频 | 国产精品免费在线 | 色必久久 | 欧美一级视频在线观看 | 国产精品3区 | 国产欧美日本 | 日韩精品一区二区三区视频播放 | 欧美性猛交一区二区三区精品 | 四虎影院在线 | 精品一区二区在线观看 | 久久久久久影院 | 亚洲精品久久久久久下一站 | 国产精品免费在线 | jlzzjlzz国产精品久久 | a欧美 | 精品美女在线 | 中文字幕在线三区 | 日韩一区二区在线观看 | 91精品久久久久久久久久 | 毛片在线免费 | www.国产.com| 亚洲理论电影在线观看 | 亚洲日韩中文字幕一区 | 日韩高清成人 | 欧美在线一区二区 | 亚洲精品字幕 | 成人亚洲免费 | 91超碰在线观看 | 国产免费成人 | 黄色免费在线观看 | 亚洲一区二区三区视频 | 欧洲精品乱码久久久久蜜桃 | 99久久精品一区二区成人 | 91秦先生艺校小琴 | 亚洲欧美一区二区在线观看 | 亚洲国产成人久久 | 亚洲精品久久久一区二区三区 | 亚洲一区二区在线免费观看 | 欧美精品一区二区在线观看 | 国产精品免费观看 | 国产精品a一区二区三区网址 | 中文字幕 欧美 日韩 | 中文成人无字幕乱码精品 | 久久久av| 午夜视频在线观看网址 | 国产欧美综合一区二区三区 | 欧美日韩高清在线一区 | 草久在线视频 | 99视频在线免费观看 | 欧美一级黄色大片 | 精品国产一区探花在线观看 | 午夜影院免费看 | 欧美不卡一区二区三区 | 欧美猛交ⅹxxx乱大交视频 | 欧美一区二区三区在线观看视频 | 成年人免费看片 | 日韩成人免费电影 | 亚洲精品乱码8久久久久久日本 |