日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
99久久精品无码一区二区| 午夜一区二区三区国产| 97色婷婷| 国产精品人妻无码久久久互動交流 | 午夜男女爽爽大片免费观看| 吻戏激情性巴克| 美女91网址| 日本高清有码网址视频| 黑人粗大V S日韩女优视频| 欧美gv在线观看| 性生活无遮挡纯毛片在线看| 1024人妻熟女一区二区三区| 亚洲欧洲久久天堂| 国产亚洲精品第一最新| 91美女高潮| 99日韩| 九九九九九精品视频| 91精品久久久久久77777| 欧美另类天堂| 殴美,日韩国产伦精品| 精品人妻一区二区三区日产| 天天亚洲综合| 国产精品制服丝袜清纯唯美| 欧美丝袜91| 日韩人体偷拍| 26uuu国产成人综合| 国产一| 99在线观看| 色综合一本| 亚洲熟女乱色一区二区三区久久久 | 欧美性爱伊人| 久久一二三四不卡 | 长长久久曰曰夜夜成人网| 亚洲人妻av| 色五月大香蕉| 97在线欧洲| 91色碰| 欧美综合 站| 欧美亚洲自拍另类人妻| 久草综合京东| 久久久无码精品人妻二区| 伊人一级免费黄片| 色婷婷综合久久中文字幕雪峰| 日本一区二区不卡| 丁香九月婷婷| 国产成人五月天丁香花| 国产成年精品高清在线观看91| 九九在线精品| 欧美精品三级黄片| 97天天摸天天碰| 久久香蕉国产线看观看亚洲女人 | 亚州色综合| 婷婷五月综合激情| 亚洲AV无码乱码| 色色97爱| 久久婷婷五月综合| 97精| 91操人| 欧美老妇曰批的视频| 久偷拍欧美日韩三区| 国模不卡| 春色综合网| 精品精品精品| 69少妇一区二区| 日本黄色裸日本黄色裸体 | 91久久午夜无码鲁丝片久久人妻| 欧美伊人久久综合网| 欧美亚洲一区二区久久久婷精品大包诱| 国产日韩精品suv| 美女毛片999| 欧美日韩性爱操大逼| 欧美高清在线| 婷婷色香| 人人摸人人干| 欧美色性爱| 舔舔啊| 色欲久久久久综合网| 爽爽爽免费视频| 18禁网站在线播放| 91色拍| 四虎免费看黄| 天美国产精品| www.久久制服糖| 日日夜夜国产综合| 日韩人妻播放| 91精品老女人| 亚洲欧洲激情卡通另类文学四射小说网站| 超碰偷拍| 鲁鲁色综合网| 国产精品久久久久久无码红治院| 国产在线激情| 国产日韩欧美| 9 7超碰在线免费观看| 七久久久| 亚洲日韩AV视色| 囯产乱伦一区二区三女 | 熟女熟妇伦久久影院毛片一区二区| AV九九| 精品一区二区综合熟妇| 国产精品视频自拍在线| 国产高清视频无码在线| 亚洲深夜福利| 欧美日日人人天天| 国偷自 一区| 精品久久久中文字幕不| 日本 免费 一区二区三区 久久香蕉 | 欧美久久久15P| 国产 无码 一区二区| 国产日韩在线播放av| 九九精品99| 在线αⅴ| .精品人妻一区二区三| 91狠狠综| 日韩激情毛片一级久久久| 熟女激情综合网| 欧美91在线| 高清孕妇孕交| 天天草夜夜草高潮片| 国产精品久久99日日| 97丝袜亚洲在线播放| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 青草一区二区| 后入国产| 69av一区二区三区| 国产亚洲色婷婷久久99精品91葵花宝典| aaaa少妇高潮大片| 色妹子A V| 日本伦理一区二区| 欧亚揄拍偷拍精品视频| 亚州男人天堂| 蜜臀亚洲综合一二三四区| 青青草AV色| 久久成年片色大黄全免费网站| 97色碰| 日本成人A片免费看| 色婷婷五月综合激情中文字幕| 成人黑料社久久| 伊人AAA| 亚洲色图 图片| 91情色在线| 亚洲欧洲自拍图片专区满春格| 色综合久久88色综合久久天天| 黄色av片三级三级三级免费看| 啊v视频在线观看| 97视频在线免费看| 大香蕉草草| 岛国A V在线免费看| 一级A片女人高潮叫床| 人人干人人操人人..com| 欧美日韩国第一区| 亚洲se91| 国产欧美一级在线观看| 欧洲射精91| 丰满人妻-区二区三区免费看| 国产在线强奸视频| 午夜成人福利影视| 凹凸 69堂 在线播放| 色呦呦呦在线观看视频| 久久这里| 欧美亚洲一级在线观看| 日韩午夜国产| 18禁精品网站在线看| 国产成人在线观看综合| 91在线一起| 日韩美女操b| 亚洲天堂第一页| 秋霞网—男女啪啪亚洲免费体验区| 夜夜中出国产| 精品日韩人妻视频| 怡春苑东京热| aaaa黄片| 夜夜春夜夜操| 日小BB小视频| 日日夜夜精品| 人人澡人人澡人人| 精品久久視頻在线| 麻豆久久精品亚洲精品88| 日本天天色| 97国产色综合| 天天综合网1| 久久成人午夜狠狠| 97在线观看免费| 国产欧美精选自拍一区| 性色高清在线| 国产欧美成人精品| 四虎精品永久在线播放| 亚洲最新av无码成人精品区| 五月丁香久久| 欧美激情久久久久| 亚洲国产美女久久久久| 欧亚免费视频| 九一国产精品| 国产丝袜美女在线一区| 男男H黄动漫啪啪无遮挡网站| 99.色网| 色香伊人| 国产一级137片内射麻豆| 色色婷婷丁香| 狠狠躁久久躁| 伊人一级免费黄片| 国产亚洲精品自在线亚洲情侣| 超碰 另类 欧美| 丰满熟女人妻一区二区三五十一路| 三级日本一区二区三区| 中文字幕在线观看视频www| 曰韩香蕉97| 精品无码秘 人妻一区二区| 亚洲精品人妻在线| 亚洲AO在线| 91 偷| 97最新在线播放视频| 久久久婷婷| 性猛交| 色吧五月| 97中文综合| 九九九九免费视频| 日韩乱伦影音先锋| 九九九九九九成人| 九九精品无码专区免费| 夜夜狠狠躁日日躁色视频| 男人的天堂一区| 久久性爱免费送| 精品网站99999| 亚洲成人在线高清| 少妇国产不卡| 91av熟女人妻| 欧美久久婷| 黑人猛交| 五月天色图| 熟女探花啪啪| 天色综合网| 9精品久久久久| 欧美性爱www免费版| 国产人伦精品一区二区三区| 99婷婷一区二区| 五月天婷婷成人网| 亚洲色电影在线| 亚洲va综合va国产va中文| 久久久成人免费av电影| 国产 v乱码一区二| 噜噜瑟| 丁香九月激情| 亚洲AV无码成人精品久久| 内射夫妻三片| 亚洲综合99999| 欧美色www亚洲国产阿娇要播| 精品久久久久瑟瑟| 亚洲一区日韩精品中文字幕| 欧美激情超碰777| 97久久久| 久久亚洲AV成人精品无码| 亚州久久9| 久伊人网78| 丝袜美腿亚洲| 黄色乱论网站| 欧美国产精品| 欧美啪啪天堂| 中文字幕91综合| 亚洲伊人成综合成人网| 中文幕97| 人人天天干干| 97久久国产亚洲精品超碰热| 亚洲18禁| 日本十八禁免费看污网站| 香蕉色网| 亚洲男人天堂2019| 欧美Aⅴ| 天天澡天天爽日日av| 国产男人又猛又粗又爽| 亚洲色婷婷综合久久久久中文| 国模精品娜娜一二三区| 精品日韩人妻精品一二三区| 亚洲最大的黄色电影网站。| 黄色电影在线播放综合网站| 3P丝袜熟女 色综合| 夜夜操2028| 精品人妻1区| 日本道日本道中文字幕日本道最新日本道在线观看| 男人夜色天堂ss| 久草尤物| 97超碰精品图片| 久久女人视频| 男人的天堂一区三区| 蜜桃天美传媒AV一区二区三区| 久久久999日本大片| 老女人综合网| 超碰精品人妻狠狠干| 精品妇女一区二区三区| 强奸国产在线| 精品九九| 亚洲午夜精品久久久中文影院| 精产国品一区二三产品| 国产精品一级毛片不卡视| 欧美日韩人妻婷婷一区| 五月丁香网站| 四虎午夜影院| 疯操AV| 精品久久久久黄少妇| 90后性网国产欧美| 国产精品分类在线观看| 亚州一区二区| 欧美激情久久久久| 91/欧美| 亚洲天堂电影精品一区| 夜夜操美女| 美欧色综合| 91 亚洲情侣偷拍 久久| 久久111| 精品国产精品一区二区| 思思热er精品视频| 最新无码国产| 精品一级毛片在线观看| 91精品久久久久久| 熟女精品一区二区在线观看| 久久偷拍人| 三级三久久线久久99久目本WW| www.大香| 熟妇xxxxx性春色| 91爱啪| 韩国嫰模上门援交视频| 日韩ab网 | 五十路熟女工口| 婷婷在线视频| 精品一区二区成人动漫| 韩美日操逼| 久久久月天| 日日干男人的天堂| 欧美激情总合网| 欧美黄片视频在线观看免费| 亚洲欧美日韩免费电影| 欧美18老人禁| 国产亚洲日韩欧| 亚洲天天操| 激情欧美日韩女同久久| 爱爱动态试试看6 0秒| 久热91| 黄页视频网站野外| 日韩色| 隔壁邻居波多野结衣中文字幕| 久久精品国产精品一区| 日韩成人高清一区二区| 国产sv美女内射| 好爽要喷了| 日日做夜狠狠爱欧美黑人| 久草新免费| 开心五月天激情网| 久久久九97| 五月天婷婷基地| 99视频内射三四| 精品国产精品一区二区| 亚洲色图大香| 淮穴色AV| 精品国产网站| 情色av电影| 黄色不卡视频| 日本中文字幕一区| 亚州精品人妻一二三区| 综合亚洲网| 九九九九九精品视频| 欧美天天综合网版| 国产精品美女视频诱惑| 黑人白女精品一区| 在线性黄高清免费视频| 久久精品美女一区| 日本久操视频| 欧美激情视频一区二区三区不卡| 东北女人的毛片| 久久久禁| 天天干人人乐| 久久精品国产精品一区 | 污污汅18禁网站在线永久免费观看 | 亚洲第一男人天堂| 国产97在线视频| 福利视频香蕉免费一区二区在线| 日日插夜夜| 中国一级操逼视频| 色综合色色| 超碰97起碰| 97超碰巨乳| 欧美一区二区三区黄色影视| 欧美 色 亚洲| www.99色| 国产精品久久久久无码AV会牛| 五月色网| 熟女中出视频| 亚洲激情深爱文学小说网站| 日韩无码一级黄色av片| 乱伦av麻豆| 欧美国产日韩清纯唯美| 岛国人妻少妇av在线观看| 物业黑人 AV一区| 亚州欧美在线| AV和黑人在线播放| 超碰在线成人| 亚洲天堂人人妻| 精品国产乱码久久久久久日本公司| 成人国产二区三区在线,男女精品。| 97在线观看免费视频| 亚欧无码在线| 超碰公开久久网| 韩日自拍| 视频一区二区免费在线| 免费一级毛片在线视频观看| 精品人妻一区二区三区-国产| 久久久久无码一妻区| 国产精品成人午夜福利| 青娱乐国产精品| 国产人妻精品久久久一区二区三区| 精品一二三区女同 | 97超碰欧美中文字幕| 三级特黄60分钟播放| 日本3级一区二区免费| 少妇69中文| 国产精品白丝AV| 亚洲免费成人在线高清无码视频| 激情综合五| 久久精品国产久精国产| 青娱乐休闲视频在线观看| 亚欧高清在线| 欧美性生活内射| 国产无码成人无码| 色综合色| 欧美激情内射| 在线观看AV片| 久草色悠悠在线视频| 天天肏视频| 午夜福利免费精品视频| 91N综合在线| 97视频在线| 可以免费观看的AV| 色97综合中文字幕| 日本高清_区二区三区| 欧亚不卡| 最新日本中文字幕| 熟妇人妻一区二区三区| 凹凸精品熟女在线观看| 日韩另类色图| 97鸡把在线视频| 亚州操逼网| 一二三四视频在线社区中文字幕| 福利社区午夜一区二区| 蜜桃不卡一区二区| 操国产逼| 国产传媒日本欧美专区| 国产精品片| 亚洲 日韩 欧美 国产综合体| 岛国片国产成人亚洲播放| 青青草白白色| 最新av中文字幕高清| 伊人大香蕉在线| 亚洲日韩天堂| 97青青操视频| 91精片| 欧美男女午夜啪啪| 极品国产内射| 精品无码一区二区| 边做饭边操逼逼| 高树玛利亚无码流出| 亚洲欧美日韩制服另类| 亚洲中文人妻色| 男女啪啪网站免费视频| 日韩国产品视频中文字| 伊人一区二区在线播放| 麻豆视频test| 精品久久无码午夜福利| 一本久久精品中文字| 国产精品熟女九色九色蜜臀| 色综合20p| 国产精品无码av嫩草| 超碰视97中文| 综合久久欧美| 91丝袜美女视频| 欧日韩不卡视.频| 人妻色偷色噜| 久久亚洲人妻| 久久免费精品视频免一| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 97色涩| 亚洲黄色网址视频| 欧美后入式| 久久精品国产精品亚洲艾通辽熟妇| 色臀AV| 97综合日韩| 天天弄天天操| 日韩本不卡视频在线观看 | 久久人人爽人人爽人人片Ⅴ| 亚洲色图A| 怡红院怡春院| 久久成人午夜精品影院| 久无码| 欧美黄色手机在线观看| 加勒比少妇AV婷婷六月天超碰超碰| 91艹B视频| 狠狠爱夜夜| 精品人妻夜夜草| A 天堂在线观看视频| 青娱乐妇女性生活| 久久精品视频28| 日韩精品视频在线观看一卡二卡| 欧美+日产+中文| 国产AV人人 夜夜人人澡| 日本高清_区二区三区| 人人妻人人澡人人爽久久av| 久久蜜桃综合网| 天天做日日爱夜夜爽| 一区二区三| 免费超碰97久久| 亚洲欧美成人在线| 国产精品视频麻豆入口| 韩国嫰模上门援交视频| 国内三级自拍小视频在线观看 | 久热无码| 人人干黄色| 久久精品国产亚洲粉嫩| 久久亚洲熟妇在线视频| 精品一区二区三区蜜桃臀赵总| 色臀av| 欧美综合色综合| 国产精品2020| 97干在线视频| 国产高清精品一区二区三区毛片| 97超级久久| 欧美青青视频| 人人乐大香蕉| 被体育老师抱着c到高潮| 青青青国产手线观看视频2| 99这里只有精品| 久久国99999| 亚洲第一页色| 三级激情网站| 久久青青草在线视频| 国产深喉| 亚洲熟久久| 国产传媒一区日韩| 成人看片网站| 97最新在线播放视频| 国产一区自拍欧美日韩| 熟妇乱伦一区二区| 999久久久九九九九| 亚洲日韩欧美一区二区| 欧美激情片一区二区| 亚洲免费看片| 9l视频自拍9l九色成人| 蜜乳AV色欲AVAV无码| 欧美精品23| 绯色一区二区三区不卡少妇 | 久久久久免费少妇| 熟女字幕| 丰满高潮18xxxx| 免费国产电影一区二区| 免费看久久久性性| 国产精品自在线发布| 夜夜草天天| 夜夜爽夜夜| 久热这里只有精品9| 激情婷婷丁香| 91美女国产在线| 亚洲色9| 五月丁香综合激情| 久热伊人| 好吊妞转入那个网| 五月丁香婷婷色| 欧美99热| 日韩中文字幕在线视频观看| 一区二区三区精品视频| 欧美顶级黄色大片免费| 亚洲欧综合另类无码一区| 亚洲欧美另类激情小说| 国产熟妇 码视频户外直播 | julia ann久久| 91无摭挡| 久污| 亚州Av天美传媒| 国产精品粉嫩福利在线| 天天综合麻豆视频| 伊人嫩草| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 开心激情婷婷| 超碰97欧美在线 | 亚洲超碰97| 啊啊啊好想要| 日本久久女同性恋视频| 久久久九九九九| 亚州精人品大香蕉| 97爱爱爱综合| 九九九九九九亚洲| 亚洲丝袜在线观看| 日本亚洲vr欧美不卡高清专区| 啊啊啊用力在线观看| 大香蕉在线视频15| 日日黄色三级网站| 人妻少妇精品久久久| 久草成人影片| 国产日韩久久| 操屄日韩| 把腿张开老子CAO烂你| 亚洲美女自拍偷拍视频| 天天拍天天操| 人人澡人人爽人人精品| 国产免费久久精品99re韩国| 色999偷自拍拍| 中文字幕久久亚州无码| AV女资源| 搡老女人老熟女91| 精品人妻av在线播放| 无码在线亚洲| 亚洲青青青视频在线| 丝袜av一区二区三区| 国产不卡的视频 | 久久大陆| 美女久久久久久久久久久| 69XX一中文字幕人妻91| 嫩草影院性色| 欧美另类色| 国产久久日| 亚洲少妇视频| 日韩人妻播放| 艹我哪美一区无码| 加勒比五月天| 97在线免费看视频| 中文字幕一区二区在线日韩精品| 久久综合激情| 久久亚洲人妻| 熟妇女伦乱视频| 色五天伊人| 3571色综合一区二区二区| 三级激情网站| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 91动漫操逼视频| 久久亚洲一区女同性恋中文字幕| 我爱大香蕉| 日韩在线观看字幕精品| 青青草吊丝| 亚洲色婷婷综合久久一区二区三区| 精品人妻中文字幕高清| 高清国产av无码| 97爱欧美| 麻豆 美女 丝袜 人妻 中文| 国产精品盗摄 偷窥盗摄| 亚洲国产日韩欧美熟妇在线| 久久爽爽精品| 亚洲精品乱码久久久久久蜜桃麻豆| 操人人| 狠狠色伊人亚洲综合网站色| 欧美日韩第一页| 久久只有精品一区二区三区| 亚洲不雅视频1区二区| 精品久久久av无码免费| 亚洲综合另类| 99精品无码| 99久久久久久亚洲精品不卡| 夜夜中出国产| 天美传媒精品久久视频| 国产小黄片在线免费观看| 亚洲综合有玛| av天堂电影网| 人人摸人人干| 亚洲脚交| 国产av美女被艹的乱叫| 2017天天透天天通天天擦| 中英熟女操女| 日韩欧美麻豆大片| 外国免费性情大片| 久久草大香蕉| 久久99精品九九久久久婷婷| 国产欧美在线观看免费观看| 色色色色色色色色色色色色色色综合| 91超碰丝袜制服| 黄色免费网页无码| 精品人妻一区春色| 草草影院日本第一页| 亚洲综合影片| 性色AV蜜色av色欲av| 青青国产精品在线| 色69大色97香蕉| 中国一区二区亚洲人妻| 超碰在线1234区| 多毛小伙内射老太婆| 国产熟女精品区| 天天躁日日躁AAAAXXXX国产| 欧美色图下一页| 亚洲欧洲综合成人av一区| 大香蕉十区| 日韩免费三级黄片电影| 无码人妻丰满熟妇奶水区毛片| 17c嫩草51久久91嫩草| 一区二区久久天天干狠狠| 2019天天干| 97国产精品国| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 高跟伊人julia ann| 国产精品 久久久精品一牛| 午夜天堂精品久久| 欧美成人四级在线播放| 日本超碰97日韩精品人妻| 久久久久久69国产一区二区| 麻豆av一区二区三区| 日韩精品一区二区高清 | 久久丝袜| 91视频观看网站| 亚洲天堂在线怕怕视频| 走光一区92下载| 亚洲aV无码成人在线观看| 97视频一区| 欧美.亚洲.另类.丝袜.制服.诱惑| 果冻传媒A片麻豆熟妇人妻| 国产原创自拍| 大二网站亚洲| 大香蕉欧美日韩| 亚洲女毛多水多21P| 骚货操死你| 黄色网址久久精品欧美喷水| 青娱乐二区免费| 婷婷美人网| 国产高潮AA片免费看| 校园春色五月天| 台湾成人无码AV| 天天添天天干电影| 日本人妻伦在线中文字幕| 97超视频在线观看| 日韩去日本高清在| 日韩一级欧美一级国产一级台湾| 熟女一区二区三区| 亚洲一区二区性爱电影| yiqicaoav| 欧美乱妇狂野欧美在线视频| a在线观看| 99久久久无码国产精品性啊聊| 超碰这里只有精品| 色婷婷丁香五月| 亚洲精品国语在线播放| 国产噜噜噜噜噜久久久久久久久| 午夜精品视频777| 人人操欧美风骚| 欧洲精品欧洲精品| 97国产精品国| 久久毛卡| 国产激情视频一区区三区| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 国产和美国毛片| 亚洲双插| 国产亚洲色婷婷久久99精品91 - 百度| 国产女人高潮嗷嗷嗷叫小说| 日韩欧美国产高清视频| 男人亚洲91首页在线| 中文字幕一区 二 区 三 四 五 区日 日 骚| 久久夜嗨| 青草一区二区| 欧美成人一级麻豆| 国产女人成人精品视频| 2025亚洲男人天堂| 99热日| 最新日日夜夜天天干干| 日日骚一区二区三区| 欧洲综合色图| 日韩性爱高清免费视频| 物尤视频一区二区| 欧美色图 人妻| 日韩欧无码一区二区三区免费不卡| 亚洲精美粉嫩嫩泬在线观看| 最近的最新的中文字幕视频| 久久超碰大香蕉| 一区二区影视| 强奸乱伦日韩AV| 嫩草伊人久久精品| 夜夜精品视频| 日本理论在线| 操淫穴亚洲五月丁香 | 用力操死我| 亚洲日韩美女丝袜美腿人妻视频| 综合久久久久久久综合网| 丝袜六区| 日韩小电影| 综合色99| 97爱啪| 嫩草影院在线观看精品| 综合久久99亚洲人妻中文在线| 97视频在线免费观看| 夜色五月天| 97视频免费| 亚洲九区| 日夜精品| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 久久粉色| 99久久婷婷国产综合| 后入福利| 蜜乳AV网址| 成熟熟女国产精品一区二区| 国产高清精品一区二区三区毛片| 人人妻人人操人人乐| 亚洲天堂资源| 日本在线播放不卡一区| 丰满丝袜少妇AV| a级免费在线观看| 精品人妻一区二区三区-国产| 国产视频第二页| 亚洲最大的综合性av| 人妻无码一区二区三区久久99| 国产久久成人| 亚洲不卡AV在线| 久久久久久久人妻丝袜| 私色综合网| 丰满人妻-区二区三区| 丁香六月啪啪| 啊啊啊免费| xxx亚洲午夜天堂| 国产亚洲色停停久久99精品91| 精品超碰中文在线| 九九综合九九综合| 日产国产精品中文久久婷婷| 精品无码久久久久久久久果冻糖心 | 99国产精品| 亚洲日韩AV视色| 91欧美大片| 天天看片麻豆| 在线中文字幕极品av| 色婷婷婷五月天激情四射| 国产理论视频在线播放| 二三四区精品| 丁香五月天啪啪| 欧美97爱| 人妻无码后入| 手机看片1024你懂的国产| 小电影欧美91| 天天综合91在线| 都市久久精品激情亚洲| 人妻熟妇久草在线| 国产精品亚洲美女久久久久| 2020久久免费视频| 大香蕉啪啪啪啪在线| 色情乱伦AV| 操熟女91| 青青草伊人久久| 欧美十八禁在线看| 人妻夜夜爽天天爽三区麻豆AV网站| 丝袜喷水在线| 在线有码中文字幕| 人人妻天天做天天爽| 国产精品久久久久久久黄无码| 国际精品久久久| 亚洲丁香花色| 人人看黄色视频| 国产精品午夜精品| 91男女啊啊啊| 爱媛媛久久国产福利| 亚洲91在线| 欧日韩在线观看| 久久人妻视频网| 久久精品日韩| 精品9999| 台湾大香蕉99热| 综合久久中文字幕综合日韩精品| 国产AV人人 夜夜人人澡| 女人喷水视频在线观看| 中日韓欧美高清| 久久精品一区二区三区蜜桃臀| 在线黄页看毛片| a片久久久久久久久久久久 | 九久久精品| 97 超碰 人人做 人人爱| 91精品无码人妻系列| 婷婷久久五月综合激情| 伊人网在线点播| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧美天天弄| 天美传媒av一区二区| 一区二区首页| 97久久超碰| HEYZO高无码国产精品227| 综合伊人网12色| 亚洲丨在线| 破处bbq| 99国产精品久久久久久久成人热| 99精彩视频| 毛片电影一区二区三区| 人人操人人大香蕉| 亚洲 欧美 制服 另类 自拍| 中英熟女操女| 激情文学88| 东北女人高潮视频| 久久久999国产| 日本五区不卡| 大香蕉琪琪日本女优不卡| 狼人久草| 综合色播| 国产一区二区三区影片| 九月丁香综合网| 免费公开人人操| 色香欲影| 97免费在线观看视频| 黄站在线免费观看| 久久9精品网站| 青青伊人加勒比海| 国产精品高潮久久AV| 少妇天堂网络| 亚洲中文字幕乱码无码一区二区| 中文伊人大香蕉视频| 久久久人妻| 天天躁日日躁AAAXX| 亚洲AV免费在线| 人人扣人人操| 91无码中出人妻视频| 中字乱伦AV| 少妇干B| 亚洲AV永久无码一区仙野| 综合影视国产无码| 自拍鲍鱼一区在线高清观看免费| 人妻人人做人人澡人人爽欧美一区| 成人精品在线免费视频| 国产乱伦视频污| 精品无码一区二区三区色欲| 久久性爱视频99| 亚洲男人久久综合天堂| 久久av无码| 韩国午夜理伦三级好看| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 青青草九九九九九| 天天操女人| 粉嫩国产精品久久粉嫩| 人妻在线臀日韩| 一区二区 日韩 欧美 国产 传媒| 1204av韩国| 中美日韩毛片| laoshunv91| 香蕉大久久久| 色九色久| 97Ai亚洲| 亚洲无码 国产无码| 欧美一级久久久久久久大片动画| 啪啪免费| 激情婷婷丁香| xxx亚洲午夜天堂| 日本东京热大香蕉a片| 日本中文字幕熟妇| 久9爱精品| 国产精品高潮呻吟av久久4虎| 麻豆国产视频精品观看| 玖玖爱在线视频免费观看| 先锋色眉乱伦资源| 色色婷婷丁香| 爱爱动态试试看6 0秒| 操曰本熟女| 亚州综合色| 中文字幕国产| 凹凸视频特色日本特黄| 性久久久| 手机看片1024你懂的国产| 国产一区96在线| 白 大 人妻 区 在线| 欧美日韩欧美| 日韩av在线精品观看| 黄色在线网站| 中文字幕啊啊啊在线观看视频| 色盈盈影院| 南澳成人一级片在线播放| 人妻色偷色噜| 久操大香蕉| 久偷拍| a啊啊啊啊啊啊啊啊一区二区| 91精品亚洲内射孕妇| 狠狠操综合| 久久精品人妻一区二区| 中文字幕人妻丝袜乱一区三区| 久久精品国内Av熟女高清| 中日高清无码操逼视频| 91xingse| 好湿好紧视频| 日本人妻中文字幕精品| 91 手机在线播放 绯色| 亚洲综合一| 日日操免费视频| 欧美婷婷| 2020中文字幕在线| 一区AV| 懂色天天爱天天日天天射天天澡| 91在线免费观看处女| 亚州五月| 岛国在线一区二区三区| 婷婷伊人一区| 97av在线观看| 动漫爆乳3D奶水一区在线观看| 金典av| 成人五月天丁香激情综合| 色青青久久影视| 乱老熟女一区二区三区| 中文字幕99999| 五月天综合| 熟女一区二区三区四区| 在线观看成人性爱免费小视频| 日韩乱码Av| 91精品人妻一区二区三区蜜桃| 国产精品激情久久久久久久| 新97国产超碰| 亚洲无992tv| 九九在线视频| 亚洲脚交| 性久久| 大香蕉青青9| 国产美女裸体秘 永久无遮挡| 成人老鸭窝人人在线视频| 另类欧美色| 久久人妻丝袜一区二区三| 青青草导航在线视频| 色官网在线| 人人九九精| 97久久超碰| 欧美肥臀在线| 97在线视频观看| 天天操福利视频综合网站| 亚洲熟女精品| a人欧美综合天堂麻豆| 啪啪视频亚洲第一| 亚洲大色堂| 日韩国产成人自拍视频| 久草草一二三四区久久| 婷婷丁香五月天综合东京热| 欧美中文狠| 超碰成人最新最好看| 久久AV色| AV九九| 国产传媒一区二区三区| 翘臀vidoes| 蜜臀久久99精品久久久电影| 欧美日韩资源在线| 99久久久久久亚洲精品不卡| 91久久堂| 333kkkk·亚洲com久久| 久久大香蕉97| 丁香五月天啪啪| 日本一级特级毛片视频| 日日日啊啊啊| 多毛小伙内射老太婆| 91影视亚洲| 97国产高清视频在线观看| 俺去啦自拍| 久久久草成人网站久久久草成人久久久草久久久 | 加勒比伊人| 人妻无码久久一区二区三区免费| 伊人精品久久网站| 鸥美极品| 开心五月激情网| v91av| 中文字幕在线观看网页| 秋霞一级A片黄色视频| 久久噜| 18禁免费视频| 国产精品农村妇女| 韩国一区二区精品亚洲| 日本人妻中文字幕| 97精品在线| 欧美日韩国产中文超碰| 欧美五十路熟| 熟女熟妇伦久久影院毛片一区二区| a在线视频免费观看| 97视频免费在线观看| 色大香蕉97N| 国模精品一区二区三区苹果色戒 | 97精品视频| 日韩在线人妻网站| 日韩欧美午夜视频在线| 亚洲精品97| 精品九九淫乱男| 97天天搞在线| 天天干夜夜一操| 国产强奸乱伦欧美| 麻豆黄站| 久操 高清| ..日韩av毛片精品久久久| 黑人猛交| 亚洲综合影片| 大香樵伊人网| 国产午夜福利专区综合| 香港久久久| 九九九九免费高| 淮穴色AV| 三级三久久线久久99久目本WW| 久久婷婷电影网| 91热| 神马久久69| 嗯……啊…嗯嗯…啊…好舒服| 婷婷亚洲五月***久久| 日本1区2区不卡视频| 精品无码少妇| 女人天堂网| 精品国产72| 精品久久久久9999| 免费黄色片子| 欧美十八禁网站| 三级日本一区二区三区| 女性91网站| 精品9999| 欧美日本天堂| 97超碰热线| 天天综合网~69| 丁香久久| 天天精品| 国产懂色精品国产av| 秋霞成人一级在线观看| 亚洲人妻中文在线视频| 亚洲久9| 99热精品在线观看| 欲色啪| av草草在线电影| 精品人妻视频一区二区三区蜜桃视频| 五月天激情小说| 免费观看的av| 一级A啪啪啪啪| 欧美日韩性爱视屏免费看了| 午夜一区| 亚洲1区2区三区高清中文字幕| 国产农村妇女精品一| 亚洲精品九九九| 五月丁香六月婷| 另类图片五月天| 日本性爱欧美性爱| 国产亚卅97| 狠狠综合网| 日产成人久久| 精品国产一区二区三区四区在线看| 无码少妇精品一区二区60岁老人| 老熟妇综合| 377p欧洲日本亚洲大胆| 最新精品久久蜜桃| 18禁美女裸体无遮挡啪啪| 99热超碰| 天天草天天日| 日本超碰97日韩精品人妻| 极品综合| 国产又大又粗又长视频在线| 日韩操啪| www鬼畜国产男人的天堂| 在线a亚洲视频播放在线| 熟女一区二区| A级毛片在线看免费| 九九九九九精品十六| 五月丁香激情啪啪| 亚洲人妻精品一区二区| 一个人在线看的黄色电影网站| 精品久久久av无码免费| 亚洲情色图片区| www.久久制服糖| 无码人妻精品一区二区三区99不卡 | 丝袜内射| 久久嫩草国产成人一区| 亚洲综合性网址| 加勒比伊人综合| 国产精品禁久久久精品| 桑老女人九区| 女人精品内射国产99| 欧美性爱精品七区| 亚洲无码?第一页| 丁香久久| 色av中文字| 天天摸夜夜操视频| 四虎影视永久在线观看精品免费网站 | 国模无码人体一区二区三| 亚洲无码?第一页| 九色视频91| 美女91在线观看| 欧亚揄拍偷拍精品视频 |