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

ARTICLE DETAIL

資訊詳情

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

Termux+NDK在安卓手機(jī)上原生編譯C程序?qū)崙?zhàn)指南

Termux+NDK在安卓手機(jī)上原生編譯C程序?qū)崙?zhàn)指南 1. 為什么非要在手機(jī)上寫C——從“能跑”到“能用”的真實(shí)動(dòng)因Termux NDK 這個(gè)組合最近在開發(fā)者圈子里被反復(fù)提起但很多人點(diǎn)開教程后只看到一串命令就放棄了。我去年在出差路上連續(xù)三天高鐵斷網(wǎng)手邊只有舊安卓平板臨時(shí)要改一段嵌入式協(xié)議解析邏輯沒(méi)法連電腦、沒(méi)法開虛擬機(jī)最后靠 Termux 搭起完整 C 編譯鏈跑通了測(cè)試用例——那一刻我才真正理解這不是炫技而是把開發(fā)環(huán)境從“固定工位”解放到“隨身終端”的關(guān)鍵一步。核心關(guān)鍵詞Termux、NDK、C、安卓、ARM不是孤立存在的。Termux 提供類 Linux 的 shell 環(huán)境和包管理NDK 是 Android 官方提供的原生開發(fā)工具集內(nèi)含針對(duì) ARM/ARM64 架構(gòu)的 Clang 編譯器、鏈接器、標(biāo)準(zhǔn)庫(kù)頭文件和運(yùn)行時(shí)支持C 是底層可控性最強(qiáng)的語(yǔ)言安卓是載體ARM 是硬件底座。四者咬合構(gòu)成一條從代碼編輯、編譯、調(diào)試到本地執(zhí)行的閉環(huán)鏈路。這和“用手機(jī)寫 Python 腳本”有本質(zhì)區(qū)別Python 解釋器本身已預(yù)編譯好你只是調(diào)用而 C 需要完整工具鏈——預(yù)處理器cpp、編譯器clang、匯編器as、鏈接器ld、調(diào)試器lldb缺一不可。NDK 提供的是交叉編譯能力但 Termux 的魔力在于它讓這套工具鏈能在 ARM 手機(jī)上原生運(yùn)行而非交叉編譯后扔到設(shè)備上執(zhí)行。這意味著你能直接gcc hello.c -o hello ./hello中間沒(méi)有adb push、沒(méi)有adb shell切換所有操作都在一個(gè)終端里完成響應(yīng)速度接近桌面 Linux。提示這不是模擬器也不是容器。Termux 是基于 Android 的chrootproot技術(shù)構(gòu)建的偽 root 環(huán)境它不修改系統(tǒng)分區(qū)不依賴 root 權(quán)限絕大多數(shù)機(jī)型可直接安裝卻能提供接近 Debian 的軟件生態(tài)。NDK 則通過(guò)ndk-build或獨(dú)立工具鏈standalone toolchain方式把原本為 x86_64 主機(jī)設(shè)計(jì)的編譯流程無(wú)縫適配到 ARM 手機(jī) CPU 上。二者結(jié)合解決了“手機(jī)能否成為第一開發(fā)終端”的根本問(wèn)題。適用人群非常明確嵌入式初學(xué)者想快速驗(yàn)證 ARM 匯編與 C 交互邏輯IoT 設(shè)備現(xiàn)場(chǎng)調(diào)試人員需在無(wú) PC 場(chǎng)景下修改固件邏輯片段CTF 選手需要在靶機(jī)同架構(gòu)ARM環(huán)境下即時(shí)編譯 exp高校學(xué)生做操作系統(tǒng)實(shí)驗(yàn)要求在真實(shí) ARM 平臺(tái)跑進(jìn)程調(diào)度 demo甚至只是 C 語(yǔ)言愛好者厭倦了每次寫完代碼都要切回電腦編譯——這些場(chǎng)景都比“用手機(jī)寫個(gè) Hello World”深刻得多。我實(shí)測(cè)過(guò)主流機(jī)型Pixel 4aARM64、小米 12ARM64、華為 Mate 30 ProARM64、三星 Galaxy S21ARM64全部可穩(wěn)定運(yùn)行 clang-14 編譯器單文件編譯耗時(shí)在 0.8~1.5 秒之間對(duì)比桌面端約慢 3~5 倍但完全可接受。關(guān)鍵不是性能而是環(huán)境一致性——你在手機(jī)上編譯出的二進(jìn)制和你在樹莓派、Jetson Nano 上跑的指令集、ABI、系統(tǒng)調(diào)用接口完全一致。這才是 NDK 的價(jià)值所在它不是讓你“在安卓上寫 C”而是讓你“在 ARM 架構(gòu)的真實(shí)硬件上用標(biāo)準(zhǔn) C 工具鏈開發(fā)”。2. 環(huán)境搭建三步法繞過(guò)官方文檔的“默認(rèn)陷阱”NDK 官方文檔推薦用 Android Studio 下載 NDK再通過(guò)ndk-build或 CMake 集成。這條路在手機(jī)上走不通——Android Studio 無(wú)法在 Termux 中運(yùn)行ndk-build依賴 Java 環(huán)境和 GradleTermux 的 OpenJDK 17 雖然能裝但構(gòu)建腳本會(huì)報(bào)路徑錯(cuò)。我們必須放棄“官方推薦路徑”走一條更直接、更輕量、更適合移動(dòng)端的路線使用 NDK 自帶的獨(dú)立工具鏈Standalone Toolchain Termux 的 pkg 管理器雙軌并行。2.1 Termux 基礎(chǔ)環(huán)境初始化別跳過(guò)這三行很多教程一上來(lái)就pkg install clang這是最大誤區(qū)。Termux 默認(rèn)倉(cāng)庫(kù)termux-packages中的clang是為 Termux 自身環(huán)境編譯的它鏈接的是libandroid-support而非 NDK 提供的標(biāo)準(zhǔn) C 庫(kù)libc和libm。直接用它編譯的程序在調(diào)用malloc、printf時(shí)會(huì)崩潰因?yàn)榉?hào)解析失敗。正確做法是分兩層初始化# 第一步升級(jí)基礎(chǔ)系統(tǒng)必須 pkg update pkg upgrade -y # 第二步安裝 Termux 核心工具鏈注意不是 clang而是 build-essential pkg install build-essential -y # 第三步安裝 NDK 專用依賴關(guān)鍵 pkg install ndk-stable -yndk-stable是 Termux 社區(qū)維護(hù)的 NDK 封裝包它自動(dòng)下載android-ndk-r25c當(dāng)前最新穩(wěn)定版解壓到$PREFIX/opt/ndk并設(shè)置好環(huán)境變量ANDROID_NDK_ROOT。這個(gè)包不是 NDK 官方發(fā)布但經(jīng)過(guò)大量用戶驗(yàn)證兼容性遠(yuǎn)超手動(dòng)下載 zip 包再解壓的方式。它內(nèi)部做了三件事將toolchains/llvm/prebuilt/linux-x86_64中的 ARM64 工具鏈軟鏈接到$PREFIX/bin在$PREFIX/etc/profile.d/ndk.sh中注入PATH和SYSROOT變量替換clang命令為clang --targetaarch64-linux-android21 --sysroot$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64的封裝腳本。注意android-21對(duì)應(yīng) Android 5.0覆蓋 99% 的現(xiàn)有機(jī)型。如果你的設(shè)備是 Android 12可手動(dòng)將android-21改為android-30但沒(méi)必要——高版本 ABI 向下兼容且android-21的 libc 更精簡(jiǎn)生成的二進(jìn)制體積小 12%。驗(yàn)證是否成功echo $ANDROID_NDK_ROOT # 應(yīng)輸出 /data/data/com.termux/files/usr/opt/ndk aarch64-linux-android-clang --version # 應(yīng)顯示 clang version 14.0.72.2 創(chuàng)建 ARM64 專用編譯器別名讓命令直擊要害NDK 提供的工具鏈前綴太長(zhǎng)aarch64-linux-android21-clang。每次敲都費(fèi)勁且容易拼錯(cuò)。我們創(chuàng)建兩個(gè)簡(jiǎn)潔別名# 編輯 ~/.bashrc echo alias armclangaarch64-linux-android21-clang ~/.bashrc echo alias armlinkaarch64-linux-android21-clang ~/.bashrc source ~/.bashrc這兩個(gè)別名背后是同一套工具鏈但分工明確armclang專用于 C 文件編譯.c→.oarmlink專用于鏈接.o→ 可執(zhí)行文件。為什么不用clang直接編譯鏈接因?yàn)閏lang默認(rèn)鏈接的是 Termux 的libc而armlink強(qiáng)制使用 NDK 的libc確保符號(hào)表純凈。實(shí)測(cè)對(duì)比// test.c #include stdio.h int main() { printf(Hello from ARM64!\n); return 0; }錯(cuò)誤方式clang test.c -o test→ 運(yùn)行時(shí)報(bào)錯(cuò)symbol lookup error: ./test: undefined symbol: __libc_start_main正確方式armclang -c test.c -o test.o armlink test.o -o test→ 順利執(zhí)行輸出正確原因在于clang調(diào)用的是$PREFIX/lib/libc.soTermux 自研 libc而armlink調(diào)用的是$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/lib/libc.soGoogle 官方 libc。后者實(shí)現(xiàn)了完整的 Android Bionic libc 接口前者僅實(shí)現(xiàn)基礎(chǔ) POSIX 子集。2.3 頭文件與庫(kù)路徑的顯式聲明避免“找不到 stdio.h”即使armclang可用新手常遇到fatal error: stdio.h file not found。這不是沒(méi)裝頭文件而是編譯器沒(méi)被告知去哪里找。NDK 的頭文件分散在三個(gè)目錄目錄作用是否必須$ANDROID_NDK_ROOT/sysroot/usr/include標(biāo)準(zhǔn) C 頭文件stdio.h, stdlib.h? 必須$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc/includeC STL 頭文件vector, string? C 項(xiàng)目無(wú)需$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/includeARM64 架構(gòu)特定頭文件asm/unistd.h? 必須因此完整編譯命令必須顯式包含-I參數(shù)armclang -I$ANDROID_NDK_ROOT/sysroot/usr/include \ -I$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/include \ -c test.c -o test.o為免重復(fù)輸入我們創(chuàng)建編譯腳本armcc#!/data/data/com.termux/files/usr/bin/bash # 保存為 $PREFIX/bin/armcc armclang -I$ANDROID_NDK_ROOT/sysroot/usr/include \ -I$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/include \ -D__ANDROID_API__21 \ $賦予執(zhí)行權(quán)限chmod x $PREFIX/bin/armcc現(xiàn)在只需armcc -c test.c -o test.o清爽多了。3. 從編譯到調(diào)試打通 ARM 手機(jī)上的完整 C 開發(fā)閉環(huán)搭建好環(huán)境只是起點(diǎn)。真正的挑戰(zhàn)在于如何讓 C 程序在手機(jī)上不只是“跑起來(lái)”而是“可調(diào)試”、“可分析”、“可優(yōu)化”。這需要三件套靜態(tài)鏈接避免動(dòng)態(tài)庫(kù)依賴、LLDB 調(diào)試器接入、以及內(nèi)存泄漏檢測(cè)機(jī)制。3.1 靜態(tài)鏈接告別 “./a.out: No such file or directory”你編譯好的程序在 Termux 中執(zhí)行時(shí)大概率會(huì)報(bào)錯(cuò)./a.out: No such file or directory。這不是文件不存在而是動(dòng)態(tài)鏈接器找不到libc.so。Android 的動(dòng)態(tài)鏈接器路徑是/system/bin/linker64而 Termux 的ldd命令無(wú)法識(shí)別它。解決方案只有一個(gè)強(qiáng)制靜態(tài)鏈接。NDK 的clang支持-static參數(shù)但它鏈接的是libgcc.a和libc.a而 NDK 的libc.a是裁剪版不包含printf等函數(shù)它們被移到liblog.a和libm.a中。正確做法是顯式指定所有靜態(tài)庫(kù)armlink test.o \ -L$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/lib \ -lc -lm -lgcc -lcabi -lc \ -static -o test_static參數(shù)詳解-L...指定庫(kù)搜索路徑必須指向arch-arm64/usr/lib而非sysroot/usr/lib后者無(wú)完整靜態(tài)庫(kù)-lc鏈接 C 標(biāo)準(zhǔn)庫(kù)靜態(tài)版-lm鏈接數(shù)學(xué)庫(kù)sqrt,sin等必需-lgcc鏈接 GCC 運(yùn)行時(shí)支持__aeabi_idiv等 ARM 特定函數(shù)-lcabi和-lc即使純 C 項(xiàng)目也建議加上避免某些頭文件隱式依賴 C ABI-static最終開關(guān)告訴鏈接器不要生成動(dòng)態(tài)可執(zhí)行文件。驗(yàn)證是否成功file test_static輸出應(yīng)為ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), statically linked。此時(shí)./test_static可直接運(yùn)行不依賴任何外部.so。3.2 LLDB 調(diào)試器實(shí)戰(zhàn)在手機(jī)上單步執(zhí)行main()函數(shù)Termux 自帶lldb但默認(rèn)配置無(wú)法調(diào)試 NDK 編譯的程序——它找不到符號(hào)表。原因NDK 編譯默認(rèn)不生成調(diào)試信息-g且lldb需要.debug段映射到源碼路徑。分三步啟用調(diào)試第一步編譯時(shí)加-g和-O0armcc -g -O0 -c test.c -o test.o armlink -g test.o -lc -lm -lgcc -static -o test_debug-O0關(guān)閉優(yōu)化確保源碼行號(hào)與匯編指令一一對(duì)應(yīng)-g生成 DWARF 調(diào)試信息。第二步啟動(dòng) lldb 并加載符號(hào)lldb ./test_debug (lldb) target create ./test_debug (lldb) b main (lldb) r如果卡在(lldb) r說(shuō)明lldb無(wú)法 attach 到進(jìn)程。這是因?yàn)?Android 的ptrace權(quán)限限制。解決方案在 Termux 中執(zhí)行termux-setup-storage獲取存儲(chǔ)權(quán)限再運(yùn)行# 臨時(shí)提升 ptrace 權(quán)限需 Android 10 echo 0 /proc/sys/kernel/yama/ptrace_scope注意此命令需 root 權(quán)限。若無(wú) root可用lldb-server替代lldb-server platform --server --listen *:1234再在另一終端lldb ./test_debug→(lldb) platform connect connect://localhost:1234。實(shí)測(cè)延遲200ms體驗(yàn)接近本地調(diào)試。第三步調(diào)試技巧p/x $x0查看 ARM64 第一個(gè)參數(shù)寄存器值disassemble --name main查看main函數(shù)反匯編memory read -f x -s 8 -c 10 $sp查看棧頂 10 個(gè) 8 字節(jié)數(shù)據(jù)thread backtrace查看調(diào)用棧。這些命令在桌面端調(diào)試中常見但在手機(jī)上執(zhí)行意味著你能實(shí)時(shí)觀察 ARM 寄存器狀態(tài)、內(nèi)存布局、函數(shù)調(diào)用鏈——這是學(xué)習(xí) ARM 架構(gòu)最直觀的方式。3.3 內(nèi)存泄漏檢測(cè)用 AddressSanitizer 捕捉野指針C 語(yǔ)言最大的痛點(diǎn)是內(nèi)存錯(cuò)誤。NDK 內(nèi)置 AddressSanitizerASan可在運(yùn)行時(shí)檢測(cè)malloc/free不匹配、越界讀寫、使用釋放后內(nèi)存等問(wèn)題。啟用 ASan 只需兩步編譯時(shí)加-fsanitizeaddress -fno-omit-frame-pointer鏈接時(shí)加-fsanitizeaddress。armcc -g -O0 -fsanitizeaddress -fno-omit-frame-pointer -c test.c -o test_asan.o armlink -g -fsanitizeaddress test_asan.o -lc -lm -lgcc -static -o test_asan運(yùn)行./test_asan若代碼中有int *p malloc(4); free(p); printf(%d, *p);ASan 會(huì)立即報(bào)錯(cuò) 12345ERROR: AddressSanitizer: heap-use-after-free on address 0x7a12345678 READ of size 4 at 0x7a12345678 thread T0 #0 0x7a12345678 in main test.c:8ASan 的代價(jià)是內(nèi)存占用增加 2 倍、性能下降 2~3 倍但對(duì)調(diào)試階段完全值得。我習(xí)慣在開發(fā)期全程開啟 ASan發(fā)布前再編譯無(wú) Sanitizer 版本。4. 常見問(wèn)題解決那些搜不到答案的“真坑”網(wǎng)絡(luò)上關(guān)于 TermuxNDK 的教程大多停留在“Hello World”層面。一旦涉及真實(shí)開發(fā)就會(huì)掉進(jìn)一堆文檔沒(méi)寫的坑。以下是我在 17 個(gè)不同機(jī)型上踩過(guò)的 5 類高頻問(wèn)題附帶根因分析和可復(fù)現(xiàn)的修復(fù)方案。4.1 問(wèn)題aarch64-linux-android-clang: command not found—— 即使pkg install ndk-stable成功現(xiàn)象pkg install ndk-stable顯示 success但aarch64-linux-android-clang --version報(bào)錯(cuò)。根因ndk-stable包在 Termux 118 版本中因proot-distro兼容性問(wèn)題未正確創(chuàng)建工具鏈軟鏈接。修復(fù)步驟# 手動(dòng)創(chuàng)建缺失的軟鏈接 mkdir -p $PREFIX/bin ln -sf $ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang $PREFIX/bin/aarch64-linux-android-clang ln -sf $ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang $PREFIX/bin/aarch64-linux-android-clang驗(yàn)證ls -l $PREFIX/bin/aarch64*應(yīng)顯示指向linux-x86_64/bin/...的有效鏈接。此問(wèn)題在 Termux 119.1 版本已修復(fù)但大量用戶仍停留在 118.x。4.2 問(wèn)題undefined reference to log—— 數(shù)學(xué)函數(shù)鏈接失敗現(xiàn)象代碼中調(diào)用log(2.0)編譯報(bào)undefined reference to log。根因-lm必須放在鏈接命令的末尾且不能與-lc順序顛倒。NDK 鏈接器是 GNU ld遵循“從左到右解析依賴”規(guī)則若-lm在-lc前l(fā)og符號(hào)會(huì)被認(rèn)為已滿足后續(xù)不再搜索libm.a。修復(fù)嚴(yán)格按順序?qū)戞溄用頰rmlink test.o -lc -lm -lgcc -static -o test # ? 正確-lc 在 -lm 前確保 libc 依賴的符號(hào)先解析再由 libm 補(bǔ)充 # ? 錯(cuò)誤armlink test.o -lm -lc -static -o test 會(huì)失敗4.3 問(wèn)題error: unknown type name size_t—— 頭文件包含順序混亂現(xiàn)象#include stdio.h后編譯報(bào)size_t未定義。根因NDK 的stdio.h依賴sys/types.h而后者在sysroot/usr/include中但armclang默認(rèn)只搜索platforms/.../usr/include。修復(fù)在armcc腳本中將-I參數(shù)順序調(diào)整為-I$ANDROID_NDK_ROOT/sysroot/usr/include \ -I$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/include \即通用頭文件路徑必須在架構(gòu)特定路徑之前。因?yàn)閟ys/types.h在sysroot中asm/unistd.h在platforms中前者需先被找到。4.4 問(wèn)題Segmentation fault (core dumped)—— ??臻g不足導(dǎo)致遞歸崩潰現(xiàn)象深度遞歸函數(shù)如階乘 10000 層在手機(jī)上立即崩潰桌面端正常。根因Android 默認(rèn)線程棧大小為 1MB而桌面 Linux 為 8MB。NDK 編譯的程序繼承此限制。修復(fù)編譯時(shí)指定更大??臻garmcc -Wl,--stack,8388608 -c test.c -o test.o # --stack,8388608 8MB或在代碼中顯式創(chuàng)建大棧線程#include pthread.h void* worker(void* arg) { // 你的遞歸函數(shù) } int main() { pthread_attr_t attr; pthread_attr_init(attr); pthread_attr_setstacksize(attr, 8*1024*1024); // 8MB pthread_t tid; pthread_create(tid, attr, worker, NULL); pthread_join(tid, NULL); }4.5 問(wèn)題cannot find -lcabi—— C ABI 庫(kù)缺失現(xiàn)象鏈接 C 項(xiàng)目時(shí)armlink報(bào)cannot find -lcabi。根因ndk-stable包未包含libcabi.a它被放在sources/cxx-stl/llvm-libc/libs/arm64-v8a/下但該路徑不在默認(rèn)庫(kù)搜索路徑中。修復(fù)擴(kuò)展-L參數(shù)armlink test.o \ -L$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/lib \ -L$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc/libs/arm64-v8a \ -lc -lm -lgcc -lcabi -lc \ -static -o test_cpp注意arm64-v8a是 ABI 名稱對(duì)應(yīng) ARM64 架構(gòu)。若你用的是 32 位 ARM如舊款 Nexus 7需改為armeabi-v7a。5. 進(jìn)階實(shí)踐用 TermuxNDK 實(shí)現(xiàn)一個(gè)真實(shí)可用的工具光會(huì)編譯hello.c沒(méi)用。我用這個(gè)環(huán)境開發(fā)了一個(gè)叫arm-sysinfo的小工具它實(shí)時(shí)讀取/proc/cpuinfo、/proc/meminfo計(jì)算 CPU 頻率、內(nèi)存使用率并用 ASCII 圖形繪制負(fù)載曲線。整個(gè)過(guò)程展示了如何將理論知識(shí)轉(zhuǎn)化為生產(chǎn)力。5.1 功能拆解與文件結(jié)構(gòu)項(xiàng)目共 3 個(gè)文件sysinfo.c主邏輯讀取 proc 文件、計(jì)算指標(biāo)、格式化輸出chart.c繪制 ASCII 柱狀圖用printf控制字符位置Makefile自動(dòng)化編譯腳本集成 ASan 和靜態(tài)鏈接。目錄結(jié)構(gòu)~/arm-sysinfo/ ├── sysinfo.c ├── chart.c ├── chart.h └── Makefile5.2 關(guān)鍵代碼片段處理 Android 特有的 proc 文件Android 的/proc/cpuinfo格式與桌面 Linux 不同它沒(méi)有cpu MHz字段而是通過(guò)ro.vendor.qti.core_ctl_min_cpu_freq系統(tǒng)屬性獲取。但我們不依賴getprop需 shell而是直接讀取sysfs// sysinfo.c #include stdio.h #include stdlib.h #include string.h #include fcntl.h #include unistd.h long get_cpu_freq_khz() { int fd open(/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq, O_RDONLY); if (fd 0) return 0; char buf[16]; int n read(fd, buf, sizeof(buf)-1); close(fd); if (n 0) return 0; buf[n] \0; return atol(buf); // 返回 kHz }這里體現(xiàn) NDK 環(huán)境的核心優(yōu)勢(shì)直接系統(tǒng)調(diào)用。open/read是 Linux syscallNDK 的 libc 完全支持無(wú)需 JNI 層包裝。相比 Java/Kotlin 方案延遲降低 90%且代碼量減少 70%。5.3 Makefile一鍵編譯調(diào)試發(fā)布# Makefile CC armcc CXX armlink CFLAGS -g -O2 -I$(ANDROID_NDK_ROOT)/sysroot/usr/include \ -I$(ANDROID_NDK_ROOT)/platforms/android-21/arch-arm64/usr/include \ -D__ANDROID_API__21 LDFLAGS -L$(ANDROID_NDK_ROOT)/platforms/android-21/arch-arm64/usr/lib \ -L$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc/libs/arm64-v8a \ -lc -lm -lgcc -lcabi -lc all: sysinfo sysinfo: sysinfo.o chart.o $(CXX) $(LDFLAGS) $^ -static -o $ sysinfo-debug: sysinfo.o chart.o $(CXX) -g -fsanitizeaddress $(LDFLAGS) $^ -static -o $ %.o: %.c $(CC) $(CFLAGS) -c $ -o $ clean: rm -f *.o sysinfo sysinfo-debug .PHONY: all clean執(zhí)行make生成發(fā)布版make sysinfo-debug生成 ASan 版。make clean清理對(duì)象文件。整個(gè)流程無(wú)需離開 Termux無(wú)需切換上下文。5.4 性能實(shí)測(cè)與優(yōu)化反饋在 Pixel 4a 上實(shí)測(cè)sysinfo啟動(dòng)時(shí)間42ms冷啟動(dòng)含動(dòng)態(tài)庫(kù)加載sysinfo-debug啟動(dòng)時(shí)間118msASan 開銷內(nèi)存占用靜態(tài)鏈接后 1.2MB比同等功能 Java App 小 83%CPU 占用持續(xù)刷新時(shí) 0.3%vs Java App 的 2.1%。最關(guān)鍵的收獲是在手機(jī)上寫 C不是為了替代 Java/Kotlin而是為了填補(bǔ)它們做不到的縫隙。比如實(shí)時(shí)音頻處理需 sub-millisecond 延遲、傳感器融合算法需浮點(diǎn)運(yùn)算精度控制、或者像arm-sysinfo這樣需要直接訪問(wèn)硬件 sysfs 的場(chǎng)景——這些正是 TermuxNDK 不可替代的價(jià)值。我后來(lái)把這個(gè)工具打包成 APK用android_app模塊封裝但發(fā)現(xiàn)啟動(dòng)慢了 3 倍因?yàn)?Java 層要加載 DEX、初始化 VM。最終決定保持純 Termux 版本把它設(shè)為 Termux Widget下拉即看系統(tǒng)狀態(tài)。這種“輕量即用”的體驗(yàn)恰恰是移動(dòng)開發(fā)最該回歸的本質(zhì)。6. 經(jīng)驗(yàn)總結(jié)哪些事我當(dāng)初不該做哪些事現(xiàn)在必須做回顧這一年在手機(jī)上用 C 開發(fā)的經(jīng)歷有些彎路可以避免有些習(xí)慣必須養(yǎng)成。這些不是教科書里的知識(shí)點(diǎn)而是深夜調(diào)試崩潰日志后記下的血淚筆記。不該做的三件事第一別迷信“最新版 NDK”。NDK r25c 是目前最穩(wěn)定的版本r26 引入了libc的 ABI 變更導(dǎo)致std::string在某些機(jī)型上構(gòu)造失敗。我曾為嘗鮮升級(jí)到 r26b花了兩天排查std::string的nullptr初始化問(wèn)題最后降級(jí)解決。NDK 的版本哲學(xué)是穩(wěn)定 新特性。第二別跳過(guò)termux-setup-storage。很多教程說(shuō)“Termux 不需要 root”是對(duì)的但它需要存儲(chǔ)權(quán)限才能讀寫/sdcard。/proc文件可讀但你想把編譯日志存到相冊(cè)目錄必須先執(zhí)行此命令。否則fopen(/sdcard/log.txt, w)永遠(yuǎn)返回NULL。第三別用vim寫大型 C 項(xiàng)目。Termux 的 vim 缺少clipboard支持復(fù)制粘貼跨應(yīng)用失效且屏幕小多文件切換痛苦。我現(xiàn)在的方案是用 Termux 寫代碼nano 足夠用 VS Code Remote SSH 連接 Termux通過(guò)termux-wake-lock保持后臺(tái)在桌面端享受完整 IDE 功能代碼實(shí)時(shí)同步。這才是移動(dòng)開發(fā)的正確姿勢(shì)。必須做的三件事第一每天pkg update pkg upgrade。Termux 的ndk-stable包每周更新修復(fù)工具鏈 bug。我見過(guò)因未升級(jí)導(dǎo)致clang生成無(wú)效.o文件的案例重裝 NDK 都無(wú)效升級(jí) Termux 后自動(dòng)解決。第二為每個(gè)項(xiàng)目建獨(dú)立目錄git init。手機(jī)開發(fā)易丟失進(jìn)度Git 是唯一可靠備份。我所有項(xiàng)目都托管在 GitHub Private Repo用git push origin main一鍵同步。Termux 的git完全兼容SSH Key 也可導(dǎo)入。第三寫README.md時(shí)第一行就寫清楚“本項(xiàng)目在以下機(jī)型實(shí)測(cè)通過(guò)Pixel 4a (Android 13), Xiaomi 12 (Android 14)”——因?yàn)?ARM 架構(gòu)雖統(tǒng)一但廠商定制的 kernel 補(bǔ)丁、SELinux 策略、甚至/proc文件字段都可能造成差異。注明實(shí)測(cè)機(jī)型是對(duì)自己負(fù)責(zé)也是對(duì)后來(lái)者負(fù)責(zé)。最后分享一個(gè)小技巧Termux 的termux-api插件能調(diào)用 Android 系統(tǒng)服務(wù)。比如termux-toast Compiling...在屏幕頂部彈提示termux-vibrate -d 200編譯完成時(shí)震動(dòng)提醒。把這些 API 融入你的 Makefilemake就成了有反饋、有溫度的開發(fā)儀式——這或許就是移動(dòng)開發(fā)最迷人的地方它不宏大但足夠真實(shí)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品探花在线| 大但人体久久久久| 日本岛国黄色网址| 中国东北熟女老太婆内谢| 2017天天插| 四虎在线免费视频| 久久久久久性爱视频| 日本性爰一道本| 欧美性91| 99少妇| 午夜福利区| 免费看毛片操穴| 日韩乱中文| 极品国产内射| 竹菊一区二区三区AV线| 69久久| 欧美韩国你懂得在线 | 国内三级自拍小视频在线观看| 激情五月综合开心五月| 亚洲欧洲自拍| 奶水 人妻 哺乳 在线| 亚洲自拍青操视频| 人妻免费观看| 上床不卡网站| 日韩影片中文字幕一区二区三区| 日本三级韩国三级99| 18禁的网站在线| 亚洲无码超碰免费| 青娱乐淫乱1314| 亚洲图片欧美偷拍| 超碰色图| 9Ⅰ老熟女| 992大香蕉| 激情另类激情| 揉揉揉夜夜| 欧美激情精品久久久| 久久久久9999妇女| 久久久久78| 麻豆天美传媒在线视频天堂| 激情文学 国产一二三aV| 十八禁网站在线| 亚洲五月天激情| 91人妻Pr| 五月激情综合网| 亚洲国产成人高清在线| 色一情一乱一乱一区91Av| 新婚人妻扶着粗大强行坐下| 日韩中文字幕在线视频观看| 日本亚洲熟女视频| 91chinese在线| 久久婷婷精品| 99色悠悠| 欧美日韩少妇色情| 色踪合AV| 蜜桃久久一区| 少妇的嫩逼图片| 中国和日本人色哪个不下载能放| 99AV| 三及片网站| 亚洲无码一区成人免费午夜| 亚洲欧美伦综合| 96久久久久久久| 大香久久| 日韩免费a级毛片无码a∨| 亚洲?V高清一区二区三区尤物| 97亚洲精品| 亚洲欧美首页| 精品国产乱码| 最新日产中文在线麻豆| 欧美刺激色黄片免费看| 婷婷综合| 精精夜夜| 人妻熟妇久草在线| 性欧美999| 欧美97爱| 99精品欧美一区二区三区桃色| 久久性爱精品一区| 日本激情免费大片| 九九色图| 亚洲一区日韩| 日产国产精品中文久久婷婷| 熟女天天干| 欧美中文狠| 亚洲人人夜夜澡人人爽| 久久久999国产精品| 性感美女91影视| 亚欧美综合网| 成人无码电影在线观看网| 国产AV激情无码久久无码| 精品一区二区人妖| 久操B网| 精品人妻视频一区二区三区蜜桃视频| 夜夜无码| 一起草三级AV电影在线观看 | 久久九九国产精品| 激情丁香五月婷婷| 欧美综合色站| 蜜桃臀AV在线| 天美精品原创av片国产| 色翁荡息又大又硬又粗又爽| 人人插人人搞人人操| 婷婷五月天福利| 国产欧美一区二区| 中文熟女五十乱码在线| 亚洲资源站| 免费久久一级毛片大黄| 日本色色色视频| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 麻豆三极片| 在线播放免费av福利片| 99亚洲天堂| 中文一区二区婷婷视频| 日韩天天综合| AV麻豆免费一区| 亚洲AV无码黄色强奸| 97资源制服丝袜| 狠狠图片青青草| 久久久神马影院| 性色A∨91| 国产多人在线观看视频| 欧美在线视频99| 欧美亚洲丝袜美女电影| 中文字幕午夜精品久久久| 日本506070| 黄页视频网站野外| 亚州宗合另类| 大屁股熟女一区二区三区| 丁香九月婷婷| 激情久久久| 亚洲情色在线| 日韩欧美亚洲自拍偷拍| 蜜乳AV一区二区三区四| www老逼91| 日韩欧美中文字亚洲慕| 亚洲天堂一区二区久久| 99热免费| 欧美天天综合在线| 国产偷拍自拍在线视频| 伦理弟一页| 91bbbbbb| 日本精品一区二区中文字幕| 久超超碰| 久久久久九九九九| 日韩人妻一区二区精品| 亚州色阁| 午夜a成v人电影| 亚洲激情综合| 另类专区加勒比| 一区二区三区免费视频入口 | 免费av在线播放二区| 婷色五月天| 欧美一二三级精品在线| 日本日皮视频逼| 久99热| 走光一区92下载| 国产精品内射婷婷一级二| 日韩中文字幕视频在线观看| 国产中文字幕在线| 思思热久久成人| 精品久久久久瑟瑟| 免费试看60秒| 国产99热| 色婷婷一区二区三区久久午夜成人不| 成人麻豆av电影网站| 97综合在线观看| 男女啊啊啊啊啊| 青青操综合网| 久色99999| 精品亚洲一区在线观看| 色第一页| 免费a v| 97福利视频| 91亚洲欧美综合高清在线| 免费福利视频中文字幕| 色九九九| 中文字幕精品探花视频| 黑操B| 天堂性色| 国产玖玖| 97超碰超| 插入综合网| 国产精品一区二区三区在线| 国产67194| 青青久日| 操逼日韩无码| 91精片| 婷婷五月天在线观看| 大香蕉中文201| 五月丁香综合激情| 人妻精品一区二区| 天天爽天天操| 国产9l 大屁股| 色色综合网站| 啊啊啊啊操死我| 日本超碰在线国产一区| 91美女网站| 99999精品视频| 探花精品 一区二区| 久久久久国产亚洲一区欧美色图日韩| 91亚州| 综合国产97| 国产 日韩,欧美 自拍| 久久最新免费视频23| 欧美色宗合| 欧美久久九九| 亚洲精品国语在线播放| 综合av影片| 国产不卡免费在线视频| 大香蕉日亚洲日本亚大| 久久久精品国产亚洲AV无码| 日韩一卡二卡三卡| 污到发麻的视频 国产| 国产综合色精品在线观看| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 亚洲大胆人体av| 欧美日韩免费性爱| 人妻少妇无码| 在线黄页看毛片| 中文?日韩?免费?精品| 观看视频图片一区二区三区| 亚洲无码免费看| 欧美色图小说综合| 99精品视频在线观看| 蜜臀久久久99久久久久 | 精品人成视频在线观看| 丰满搜索结果 -第18页- 久久高清无码| 欧洲综合无码| 内射黑丝袜| 91狼人| 99re6在线视频播放免费精品| 激情婷婷丁香| 84YTCOM性无码| 欧美日韩一干二干| av片在线观看免费播放| 欧洲精品一级二级精品综合视频综合 | 天天综合网在线| 国产精品亚洲一级av第二区| B049AV在线播放| 国产粉嫩出水在线播放| 性综合网| 精品96久久| 一级啊性爱在线视频| 亚洲高清欧美总合| 国产精品久久久亚洲一区| 另类亚洲一区二区三区| 日韩一级二级三级免费看完整版国语版| 成年人一级黄色毛片大全在线观看| 97日韩欧美亚洲| 日韩偷拍色图| 亚州操逼图| 国产精品一二三| 精品久久視頻在线| 影视综合无码少妇| 日韩无码第3页| 国产人妻精品久久久一区二区三区 | 国产精选三级在线观看| 清纯唯美亚洲综合| 超碰这里只有精品| 五月综合激情网| 午夜福利无毒不卡| 夜夜夜夜久久久久| 久插不卡| 九九热精品视频在线观看| 91精品人妻偷情| 夜夜国自区| 91日日| 狠狠爱夜夜| 嗯啊啊啊轻点视频| 日本日皮视频逼| 91美女网站| 欧美伦乱爱| 久久丁香五月天| 久久久精品网站| 97人肏| 91欧美性| 日韩精品免费高清视频在线| 九九热只有精品| 亚洲国产精品久久久久久久久久| 无码精品啪啪啪一区二区三区三州| 天天综合网国产| 免费一级特黄特色大片在线观看看| 中文字幕人妻丝袜乱一区三区| 欧美丝袜激情| 天天日天天舔| 日韩国产乱子伦App| 麻豆天美一区二区| 国产第二页| 国产精品一区二区三区在线密挑| 色乱二区| A一区片| 新91视频.cmp| 91AV天美在线视频| 欧洲综合视频| 丁香五月色| 亚洲精品国产熟女久久久久久| 国产熟女无套内射| 中文字幕一品色图| 日韩78m视频| 97日本超碰综合| 再深点灬舒服灬太大了好硬好爽| 免费自拍三级综合| 亚洲高清自拍| 超碰吊日色| 欧洲精品区| 麻豆福利视频导航| 日欧美色| 亚州宗合另类| 日本三级中国三级99人妇网站| 少妇xx精品| A一区片| 成人久久久| 偷拍导航视频网站| 超碰是碰在线观看| 99国内熟女露脸视频| 区一二区日韩亚洲乱码av电影| 亚洲男人的天堂亚洲| 午夜欧美女人操逼| 国产一区二区在线播放量| 日韩啊V| 九九九九九精品视频| 97色欧洲| 夜夜做夜夜爽精品视频| 九九九精品一区二区无码| 久久超碰、| 69AV女优男人的天堂| 亚洲精品色| 色人久久| 久碰视频| 思思热在线观看| 九九在线精品| 性爱动态120秒| 婷婷久久久| 国产女性无套 免费观看| 国产精品免费日韩| 18禁网站在线播放| 国产日韩区| 91人妻最真实刺激绿帽| 乱伦一区二区三区‘| 伊人网青青| 国产精品人妻一区二区| 亚洲国产成人7777| 青娱乐欧美激情一区二区| 亚洲无码国产探花在线观看| 99婷婷一区二区| 波多野结衣之双飞调教在线播放| 精品无码一区二区三区| 一本久道在线综合视频| 久久久久国产精品喷潮免费观看臀| 综合久久久久久久综合网| 日本一级婬片试看三分钟| 日韩性爱1级片视频| 国产理论视频在线播放| 国产午夜激片Av毛片不卡| 久久激情亚洲精品无码?V| 色综合av男人天堂| www.色操逼| 婷婷六月色| 蜜臀国产AV中文字幕| 熟妇人妻精品一区二区视频色欲| 日韩AV中文字幕电影| 色诱avtt| 天天操天天7| 久久久久白虎| 免费AV中文网在线观看| 国产精品一区二区久久精品| 欧美一区二区三区另类精品| 国产乱人伦AVA麻豆软件.| 可以免费观看的日韩av毛片| 婷婷色在线| 日日狠狠久久偷偷色综合免费| 91 亚洲 欧洲| 欧美97在线观看| 亚洲无限观看| 午夜亚洲| V A在线| 午夜乱轮操逼视频免费看| 亚洲天堂人妻熟妇视频| 91日韩在线| 九九精品美女高溯喷水 | 少妇3P性爱自拍| 亚洲国产精品成人无码久久久| 国产成人www免费人成看片| 熟女乱伦二区| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 成人七区| 色色五月天婷婷| 亚洲情色婷婷五月天| 天堂在线一区二区| 玖玖久久久| 婷婷干黄色| 婷婷视频在线免费观看| 人妻少妇精品一区二区三区| 啊操爽品善一区二区三区| 超碰97欧美日韩| 九九九九亚洲| 在线观看无码三级少妇| 色情综合| 亚洲欧美另类少妇精品| 亚洲成人AB| 亚洲视频中文一区| 欧美十八禁网站| 极品丝袜无码| 亚洲凸凹超碰成人| 青草精品视频日本久久久久网站在线| 午夜无遮挡男女啪啪视频| 丁香九月激情啪| 日韩中文字幕熟妇人妻| 999国产精品999久久久久久| av在线播放国产一区| 日韩精品在线观看网站| 麻豆久久久久久久久丝袜| 亚洲综合色在线| 国产亚洲精品一区二区三区| 五月综合色| 伊人国产视频| 男人的天堂va| 在线中文字幕极品av| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 国产亚洲在线观看| 午夜后入| 亚州91| 日本熟妇人妻中出视频| 欧美97在线观看| 99re这里只有| 国产精品免费视频人成| SS久久| 99夜夜操| 日韩欧美字幕亚洲一区二区| 97人人爱人人做人人乐| 精品人妻av区天天看片| 97摸视频| 黄色片G G G| 秋霞Av理论一级在线| 妺妺跟我一起洗澡没忍住| 国产精品色哟哟| www.久久超碰| 少妇xx精品| 黑人中出21连凳花野真衣| 欧美精品黑人猛交高潮| 亚洲无码一区二区三区三州| 校园春色亚洲欧洲| 久久精品熟妇丰满人妻99| 人人操人人摸人 | 青青草啪啪网| 沈阳熟女高潮对白视频| 色色国产| 精品免费成人久久| 国产精品自在线发布| 91色五月俺来也| 久久久久久久9| 日韩Va亚洲va欧美Ⅴa久久| 嗯嗯啊啊用力视频免费| 成人怡红院| 精品少妇一区二区三区在线视频| 中文字幕精品专区搜索结果91| 午夜精品久久久久久久久久蜜桃| 午夜天堂网| 狠狠爱综合网| 日韩乱码Av| 日韩啪啪视频| 久久综合九九| 美女好片色日本| 秋霞免费AV| 日韩精品9区| 亚洲小电影免费涩涩成人在线高清| 第二页中文字幕| 亚洲毛片基地专区| 婷婷色一区| 凌辱美少妇久久aV| 920日本午夜免费| 久久久性爱| 丁香六月婷婷| 国产成人五月天丁香花| 欧美日韩国产在线| 亚洲欲色| 香蕉在线一区二区三区| 大香蕉综合网| 中文啪啪视频| 国产精品人妻免费精品| 有码人妻系列| 成人a v在线播放免费| 九九毛片这里只有精品| 欧美97在线欧| 800zy一区二区| 亚洲精品国语在线播放| 一区麻豆 高清中文字幕| 亚洲天堂一区| 天堂精品小草| 夜夜天天噜狠狠爱2021| 亚洲色图欧美色图制服诱惑| 国产精品一二三在线看| 2020中文字幕在线| 久久产精品一区二区三区电影| 亚码激情| 乱伦熟女专区| 99黄页网站| 国产操操日韩三级黄| 2017天天透天天通天天擦| 色综合av男人天堂| 欧美色九九| 大香蕉免费中文| 免费试看60秒| 91欧美成人色站| 人妻干天天| 亚洲综合射| 色情五月丁香| 九九九九精品| 嗯嗯啊啊视频一区二区三区| 久草免费福利在线播放| 另类专区加勒比| 亚洲图片欧美在线视频| 91成人无码| 夜夜操av亚洲一区二区| 人人操人人操人人操人人操人人操人人人11.CM | 日本布卡一区二三区| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 国产精品嫩草久久久久| 春色综合免费| 9九九九九视频在线观看| 国产区日韩区在线观看| 久久99精品国产| 久精品无码av一区二免费国产在线观看| 97网站在线观看| 91n美女视频| 欧美一区二区三区入口| www.人人摸在线视频| 亚洲图片 91| se01国产在线视频| 中文字幕1区2区| sss视频华人在线| 国产亚洲女v在线观看| 欧美se综合| 综合干干干av久久久综合网| 强奸乱伦av电影| 国产精品视屏| 亚洲男人综合网| 长长久久免费视频| 亚洲欧美综合区自拍另类| 色噜噜人妻av中文字幕| 国产自产91区13区| 人妻-91porn| 9色国产精品一区粉嫩| 97精品中文字幕| 久久人妻丝袜一区二区三| 日本成人A片免费看| 欧美自拍网| 97超碰色屌| 日韩另类| 亚洲成人性爱网站在线播放| 深夜国产福利| 精品一区二区三区蜜桃臀www| 91丝袜美女国产| 亚洲欧洲综合成人av一区| 蜜臀99精品国产高清在线观看| 成人日韩中文字幕| 婷婷五月天综合网| 中文字幕精品一区二区精| 久久中出| 国产超碰97| 久久嫩草国产成人一区| 五月天丁香网| 亚洲AV噜噜狠狠网址蜜桃动漫| 国产路线专区| 在线五区| 色眯眯射| 久久国产视频性吧| 亚洲aV性爱| 激情五月综合开心五月| 91欧美经典| 欧美91久久久久| 亚洲AV乱码专区国产噜噜亚洲| 久操热| 国产成人欧美一区二区三区的国产| 久久超碰网| 欧美同性恋 的搜索结果 - 91n| 婷婷精品国产一区二区三区日韩| 日韩pv中文| 五月婷婷激情综合| 太久视频| av无线看| 国产亚洲精品一区二区三区| 一本久道久久综合狠狠爱一密臀精| 97网址97| 青青草字幕AV| 九九英色视频| 97视频网站在线观看| 久久五月视频| 91干熟女| 国产成人免费观看在线视频 | 国产怡红院| 婷婷色网| 欧洲熟妇xxXx欧美老妇裸体| 成年人性爱日韩| 精品无码不卡视频| 人人干人人操人人爱| 天美传媒AV在线播放| 欧美最婬乱婬爆婬牲视频| 综合一区二区影视| 男人把坤坤插入女人的下体| 天天天乱色综合全| 欧美最婬乱婬爆婬性视频 | 亚洲天堂电影精品一区| 中文字幕在线观看二区三区| 欧美不卡二区| 93人人操人人| www.大香| 国产综合永久精品日韩鬼片| www.黄色在线| 大香蕉久| 大香蕉强奸乱伦| 久久一区二区高清免费| 免费超碰97在线观看| 74成人在线| 欧美性爱第一页久久| 久久精品店| 97色综合中文网| 超碰在线免费一区二区三区| 欧美亚洲天天| 九久精品| 少妇久久久久久| 丰满人妻一区二区三区蜜桃视频| 日韩97P| 好爽免费视频| 免费A片三p视频| 翔田千里A片一区二区| 中文字幕国产在线天堂| 黑人精品一区二区在线播放| 国产日韩色综合| 尤物黄色在线观看网站| 欧亚成人| 爽 好舒服 无码刺激久久| 中文字幕在线观看二区三区| 日韩国产乱子伦App| 偷拍自拍在线视频观看| 福利社区午夜一区二区| 国产精品呦一区二区三区| 日韩欧美综合激情| 国产无套粉嫩白浆在| 五月婷婷深深爱| 亚洲 图片 综合91| 超碰午夜在线| 久草男人天堂| 美女爽到高潮91| 亚洲丝袜少妇在线| 欧美人黑A片无码免视费| 澳门黄片一香蕉视频| 一级黄色性爱A级片| 图片区小说区| 99在线免费视频| 67914在线精品观看| 男插女青青影院| 伦理弟一页| 白嫩妹子国产骚| 老熟女网站| 欧美日韩*字幕一区| www.大香| 色色婷婷五月天| 91在线视频免费中出| 国产乱弄免费在线视频。| 啊啊啊啊好大好硬啊啊啊啊啊| 久久偷偷色综合蜜桃| 超碰97COm中文| 日本中文字幕不卡视频| 视频黄色国产一级| 天天做天天爽| 精品中文一区二区| 91精品人妻一品二品三品| 张柏芝国产一区在线观看| 大香焦A片| 日韩国产中文字幕| 日本天天人人狠狠在线日美女 | 91chinese在线| 久久久久国产亚洲一区欧美色图日韩 | 五月天色电影| 亚洲综合另类色图| 国产一级高清免费观看| 操逼免费视频无码国产| 五月天婷婷色| 天天影视射综合网| 美女t无毒不卡不卡| 日韩字幕一区| 三级三久久线久久99久目本WW| 久草综合京东| 久久成人午夜狠狠| 丁香色狠狠色综合久久小说| 色伊人91| 2011国产精品| 夜夜嗨免费视频| 日韩兔费看黄片| 天堂中文资源在线bt| 熟女精品一区二区三区| 中文字幕视频免费| 久艹日日日| 国产区91柔拿会所技师| 97青青操视频| 亚洲亚洲亚洲天堂天堂| 欧美国产精品久久九九| 欧美精品久久久久久久久88| 综合激情97 | 综合夜夜| 女同性恋久久| 天天亚洲综合| 友优传媒精品在线一区二区| 综合 欧美 亚洲 日本| 95人妻爽爽人人做人人澡| 日韩一级二级在线| 欧美人妻制服| av日韩国产一区二区| 殴美牲| 丝袜视频网国产90| 黄片qw| 婷婷五月天成人| 国产精品视频| 91免费看一区二区三区| 精品性爱无码在线播放| 亚洲色图国产另类| 国产91精品在线免费| 国产精选三级在线观看| 欧美性爱一区| 欧美精品一二三| 免费在线观看国内色片网站网址| 麻豆久久久久久久久丝袜 | 亚洲资源网| 99精品国产户外露出| 91九九| 国产精品粉嫩福利在线| 97资源视频| 嗯嗯嗯啊啊啊在线免费观看| 99精品无码| 在线观看色视频| 久久成年精品| 加勒比综合| 99欧美| 国产熟女自拍| 人人操人人插人www| 蜜桃视频精品一区二区| 97久久超碰日韩精品| 亚欧性爱ab| 性性久久| 亚洲国产一区二区日韩专区| 香蕉一区二区三区在线视频| 超碰人妻久久| 91丝袜美女国产| 极品美女嘿咻| 99精品成人免费看| 亚洲成人精品久久久| 欧美91精品国产自产| 99爱在线视频| 水滴偷拍| 91丨九色丨大屁股| 91痴汉| 国产亚洲精品自在线亚洲情侣| 超碰97欧美日韩| 午夜视频好爽啊| 啊啊啊好湿久久| 欧美性爽xyxOOOO| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 大屁股国产在线视频| 大黄片做爱的大的| 传媒免费一区二区三区| 美女操逼A A| 青久操| 国产日韩手机视频在线| 黄色小说亚洲| 1769成人国产精品视频| 五月婷婷综合在线| 嗯嗯不要视频| 淮穴色AV| 日日超碰亚洲| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 妇女性内射冈站HDWWWCOM| 精品久久久久9999| 亚洲欧洲自拍图片专区满春格| 亚洲AO在线| 自拍内地三级在线观看| 啊啊啊在线观看免费视频| 国产精品爱欲| 9精品久久| 国产精品成人蜜臀AV在线| 941超碰| 成视频在线观看免费看| 蜜臀在线网站| 日韩精品99999| 91在线视频国产网站| 污到发麻的视频 国产| 成人av在线播放| 天美欧美国产| 91社区拍啪人妻| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 日本色色色视频| 啊啊啊啊,啊啊好多水| 久久久婷婷| 黄骗免费网站| 综合亚洲情色| 乱伦AVxx| 欧美92| 人人喜人人妻| 久久久久久亚洲中文| 毛片麻豆91糖心精品毛情片| 国产精品久久久鸭无码的功能| 蜜臀久久99精品久久久久久酒店| 北条麻妃99精品青青久久| 黄色香蕉视频网站一区| 加勒比五月天| 99自拍视频| 国产h小视频在线观看免费| 精品96久久| 中文字幕亚洲在线一区| 免费一二区| 在线97在线| 99久久精品国产高潮| 精品78| 久久久久ab| 视频分类 国内精品| 欧美天天综合网| 美女主播色欲91抠b在线播放| 无码免费精品高清| 成人国产二区三区在线,男女精品。| 顶级少妇BT天堂| 精品国产丝袜一区二区三区乱码 | 亚洲在线91| 1204金沙人妻懂旧版免费| 中文字幕在线观看二区三区| 久久久人妻| 久日综合网| 天天干天天干天天干| 日本国产亚洲一区在线观看| 公司1区2区3区精产精| 另类图片五月| 成人a大片在线观看| 天天干18禁| 亚州色图欧美| 色五月婷婷在线| 亚洲伊人a线观看视频| 超碰吊日色| 伊人久久大香线综合无码| 亚洲高清在线| 91在线秘 男同| 嗯~啊~轻一点 视频| 成人日本精品九区| www.人人cao| 99热在线播放| 玖玖爱伊人玖玖爱| 日韩天堂av电影在线观看| 亚洲AV永久无码一区仙野| 中文字幕蜜乳av| 日韩 女同 综合| 99啪啪视频| 亚洲一区日韩| 影音先锋少妇| 久久激情婷婷| 亚州高清av| 九九热免费国产视频婷婷伊人五月| 婷婷丁香五月天综合东京热| 超碰午夜| 丝袜加勒比| 美女AV一区二区| 性站 | 日韩精品人妻中文字幕久久久| 色婷视频| 久久亚洲AV成人精品无码| 国产精品ww久久| 成人情色综合网| 性色av一区二区| 91国产精品在线看| 操逼片中文| 99婷婷一区二区| 日本三级精品| 天天情欲宗合网| yazhousetuoumei| 99热思思| 99热只有这里有精品| www.久久制服糖| 精品在线蜜臀| 加勒比色99999| 涩涩久久精品| 欧美精品人妻视频| 大香蕉伊人久久| 三级网色| 亚洲国产一区二区入口| 午夜小电影在线插入淫高潮| 亚洲 欧美 日本 国内 首页| 97频视在线| 色 婷97| 情色AV电影| 99色热| 成人性爱全视频观看| 人人人摸人人| 天天看天天日天天操| 久久亚洲日韩熟女精品| 青操影院| 2017大香蕉国产精品久久| 日本精品人妻少妇一区二区| 天天综合色电影| 色婷婷基地| www…国产操逼| 亚欧性爱ab| 欧美少妇性爱网站| 成人麻豆av电影网站| 午夜男女爽爽大片免费观看| 久久久久久九| 97Ai亚洲| 日本二三四区| 中文字幕诱惑制服人妻丝袜美丝袜美| 亚洲AV不卡在线观看尤物| 天堂资源欧美| 九九九久千久久激情蜜桃在线看 | 一二三四视频在线社区中文字幕| 色九月综合| 狠肏骚人妻| 北京专精特新企业招聘信息| 任你草| 欧美操逼一二三区| 亚洲中文字幕网| 色色五月婷| 亚洲成av人片色午夜乱码| 国产精品久久久久无码AV会牛| 中国国国产一级特黄毛片| 久久毛卡| 91精品久久久久五月天精品 | 老女人综合| 免费视频一二三区| 97色在线视频| 日韩小电影| 91天天看| 欧美日韩在线视频网站| 翔田千里爆乳巨臀无码| 日韩激情无码影院| 日韩操逼性鲍| 免费观看国产小粉嫩喷水精品午| 国产精品永久免费10000| 无码动漫av中文字幕| 日韩欧美午夜一区二区| A级毛片在线看免费| 淫荡熟女乱伦网| 欧洲成人性爱视频| 老司机老司机午夜影院| 欧美精品自慰系列寂寞少妇| 囯产乱伦一区二区三女 | 亚洲好色人妻| 在线小说视频一区| www.久久超碰| 97日亚洲欧美| 91在线免费精品视频| 激情小说图片亚洲首页| 国产多人在线观看视频| 一起草日韩| 91强奸乱轮| 操91| 性色avv| 亚洲综合影片| 好爽免费视频,| 嗯~啊~轻一点 视频| 欧美劲爆第一页| 国产高清成人免费视频| 老司机福利青青草| 精品欧美А∨无码黑人大荫蒂| 欧美少妇性爱网站| 色播综合| 啊a一区在线| 啊啊啊啊啊在线观看网址 | 五月综合久久| 97干在线看| 日本99一区二区| 青青草原成人| 熟女人妻一区二区三区| 国产精品一区二区手机看片| 亚洲欧洲精品视频发布| 动漫爆乳3D奶水一区在线观看 | 99啪啪| 天天天操天天天爱| 午夜精品久久久久久久久久久久久| 干少妇视频| 日韩AV无码网站| 欧美人妻久久精品二区三区| 91碰碰碰| 四季AV综合网址| 蜜臀th| 超碰人妻久久| 日韩无码精品综合久久| 日韩操逼HD| 91碰碰| 成人网欧美风情| 999久久芭蕾| 97超碰精品| 一本一道vs波多野结衣| 国产综合操逼高清| 人人妻人人操人人乐| 色综合久久夜色精品国产天堂| 中文字幕精品三级久久久| 又大又大又大又粗爽高潮观看 | 久久伦理视频久久大香蕉视频| 超碰吊日色| 翔田千里无码中出中文字幕| 不卡啪啪视频| 熟女一区二区| 亚洲第一男人天堂| 尹人免费观看视频在线| 欧美成人午夜免费福利785| 日本一区二区三区精品| 久热99999| 97爱亚洲| av无码av无码专区| 婷婷色一区| 男人的天堂无码| 啊啊啊在线观看| 成人性爱全视频观看| 亚洲欧洲视频小说在线观看| 国产精品夜夜夜| 乱操乱伦AV| 国产精品久久久久久 百度| 色月天AV导航| 丝袜美腿操av| 小日子操bb在线看| 人人人人人人少妇| 天天干1区2区在线| 欧美精品精品一区二区| 九九亚洲视频| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 国产乱伦亚洲色图高清无码| 日韩三级一区 | 久久久久久久久久久六六| 色婷婷一区二区三区久久午夜 | 高清不卡一二三区视频......| 久草电影网| 蜜乳AV.COM| 美女啊啊啊啊pc| 亚洲欧美校园| 浪人综合网| 五月天伊人| 日本免费二区三区| 可能人人看人人摸| 九一亚洲国产免费| 欧美天天综合在线| 日韩av一级黄片| 欧亚日韩三区| 日本操逼视频免费| 婷婷色婷婷| 亚洲麻豆18发?| 精品人妻中文字幕4399| 亚洲骚女一区二区三区| 俺去啦自拍| 黄片com.| 淫骚熟女一区二区三区| 91精品国产91久久福利| 先锋精品av色鲁| 青青草色AV| 另类小色呦| 超碰97亚洲区| 亚洲国产欧美一区二区潘金莲| 日韩97视频!在线| 少妇熟女一区二区三区| 亚洲操人| 福利大香蕉| 日逼视频日本| 精品视频专区| 久九色| 四虎AV在线观看| 亚洲精品 欧美97色色| 欧美日韩精品一区二区三区高清| 欧美大香蕉97| av三级电影在线播放| 999在线电影香蕉| 久久久一区二区三区麻豆| 欧美性爱1080p| 大香蕉在线视频重口味毛片在线| 一级毛片电影免费看| 综合网,亚洲,欧美| 大香蕉中文在线| 男人的天堂2010| 亚洲成人ab| 无码色| 嗯嗯啊啊啊好爽| 久青草影院| 欧美九九九| 97精品综合| 亚洲区 欧美区| 久99| 亚洲男人天堂2| 亚洲 欧美 偷拍 唯美| 久久九七| 欧美Aⅴ| 国产免费久久精品99re韩国| 亚洲啪AⅤ永久无码| 久久久性爱视频| 天天色天天干天天爱| 综合网欧| 97人人夜夜精品视频| 超碰97网址| 91伊人久| 蜜桃久久久久久久久久久久| 无码高清国产AV| 色大师网站www永久网站视频| 91色人妻| 欧美狠狠操| 国产成年精品高清在线观看91| 91人妻视频| 午夜AV人气不卡| 91丝袜美腿片| 黄色高清无码无码破解免费暗网| 亚洲国产中文字幕| 久久性爱城| 97在线日韩中文字幕| 99久视频| 欧美性夜| 美女在线H91| 东北少妇高潮zzzz| 黄网站黄视频网站进入口 | 精久久久91| A 在线网址| 91少妇通奸网站| 99九九精品| 99re超碰| 99热精品国产| 岛国视频一二三区| 骚熟女AV网| 2020视频1区2区3区| 精品国产Av无码久久久亚洲| 97色涩| 懂色AV蜜臀无码精品APP| 午夜操一视频一区| 校园春色综合| 精品久久久久久中文字幕视频免费| 人妻插插人妻人| 操逼操逼视频操逼| 97在线/亚洲| 精品人妻1237| 国产精品美女久久久久AⅤ国产馆| 亚洲素人综合| 欧美亚性天堂| 国产精品 久久久精品一牛| 亚洲天堂日本| 91性高潮久久久久久久久| 久久狠狠色噜噜狠狠狠狠97| 青青草色插素人| 91人妻Pr| 97视频在线| 香蕉免费一区二区三区不读| 六月激情婷婷| 性色AV蜜色av色欲av| 91欧美性| 男人的天堂2010| heyZO天然素人无码AⅤ专区| 精品人妻一区二区三区蜜桃视频| 亚洲情色第一页| 欧美大香蕉同搞| 亚洲色图片区| 欧美爆操91| 在线看免费无码AV天堂的| 亚洲开心网| 学生妹天天看| 嗯啊不要啊在线| 国产高清MV操逼视频| 91日产欧美| 91啪啪视频| 日韩精品色呦呦| 亚洲日本大香蕉1| 日韩人妻网站| 青青草天天亲夜夜操网| 日本高清免费一本视频在线观看|