發表文章

目前顯示的是有「Android」標籤的文章

Android 開發

編譯 AOSP 編譯aosp模塊 - 知乎 https://zhuanlan.zhihu.com/p/33817525 bionic [bionic源碼解讀]Android線程棧大小 - 知乎 https://zhuanlan.zhihu.com/p/33562383 Gradle 安卓Gradle repository庫搜索順序 - 知乎 https://zhuanlan.zhihu.com/p/32108827 NDK NDK版本變遷 - 知乎 https://zhuanlan.zhihu.com/p/33666019 使用的libcxx android https://android.googlesource.com/platform/ndk/+/5de42e6621b3d0131472c3f8838b7f0ccf3e8963/sources/cxx-stl/llvm-libc++/libcxx/include/__config https://android.googlesource.com/platform/ndk/+/5de42e6621b3d0131472c3f8838b7f0ccf3e8963/sources/cxx-stl/llvm-libc++/Android.mk 5de42e6 這 commit 是6年前了 chromium https://chromium.googlesource.com/android_tools/+/7aa54b450fb756fecafb327faa03ae336fea3671/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/__config https://chromium.googlesource.com/android_tools/+/7aa54b450fb756fecafb327faa03ae336fea3671/ndk/sources/cxx-stl/llvm-libc++/Android.mk 7aa54b4 這 commit 是4.5年前了 其他 Android性能檢測工具 - 知乎 https://zhuanlan.zhihu.com/p/31828854 Systrace TraceVi...

Systrace 使用

Android 提供一個 systrace.py,systrace.py 是用 python 寫成的,接下來介紹如何使用 systrace。 systrace.py 位於 platform-tools 目錄 platform-tools/systrace 下 安裝 pyserial systrace.py 依賴 pyserial 模組,所以需要先安裝 pyserial。 輸入下列指令安裝 pyserial,以下列出python 2 與 python 3 的方法︰ $ pip install pyserial or $ pip3 install pyserial or $ apt-get install python-serial or $ apt-get install python3-serial 錄製資料 假如執行 systrace.py 會出現 No module serial 的話,請安裝 python 的 pyserial 模組。 這邊只能使用 python2。 $ sudo python systrace.py -o xxx.html HTML 操作 m 顯示當前選取的區塊 w s 放大 縮小 a d 向左 向右 f zoom in 到選取區塊 參考 理解和使用systrace | 風中老狼的博客 https://maoao530.github.io/2017/02/06/systrace/ 寫的很詳細 Define custom events  |  Android Developers https://developer.android.com/studio/profile/systrace/custom-events systrace/systrace.py at master · ganadist/systrace · GitHub https://github.com/ganadist/systrace/blob/master/libs/python/systrace.py pyhton 版本的 traceBegin 和 traceEnd systrace/trace.h at master · ganadist/systrace · Git...

Android logd 與 logcat

以下整理出 Android Logd 背後的程式流程與原理。 LogReader: 監聽/dev/socket/logdr, 當client連接上則將buffer 訊息息寫入client. 所對應的執行緒名稱為"logd.reader" LogListener: 監聽/dev/socket/logdw, 新日誌添加到LogBuffer, 並且LogReader發送更新給已連接的client. 所對的執行緒名稱為"logd.writer" 參考 Android logd日誌原理 - Gityuan博客 | 袁輝輝的技術博客 http://gityuan.com/2018/01/27/android-log/ 原始碼分析,trace 的不錯 Android log 機制 - logd 如何接收 log 數據(上) | 程序員蝦餃 https://jekton.github.io/2018/05/16/logd-writing-part1/ Android log 機制 - logd 如何接收 log 數據(下) | 程序員蝦餃 https://jekton.github.io/2018/05/17/logd-writing-part2/ logd - platform/system/core - Git at Google https://android.googlesource.com/platform/system/core/+/master/logd/main.cpp https://android.googlesource.com/platform/system/core/+/master/logd/LogListener.cpp https://android.googlesource.com/platform/system/core/+/master/logd/LogReader.cpp https://android.googlesource.com/platform/system/core/+/master/logd/LogBuffer.cpp

Android 支援的 C++

關於AndroidL到androidM的STLC++庫的改變 - 沉默寡言的騎士 - CSDN博客 https://blog.csdn.net/flytothesun/article/details/52160754 不要在ndk中使用系統預編譯好的C++庫 https://zhuanlan.zhihu.com/p/31025055 std::ndk1 與 std::__1 的差異?差別?