Android 取得裝置資訊
解析如何用 Android Build 類別在 runtime 取得裝置廠牌、製造商、型號與系統版本,全程免特殊權限。說明 BRAND 與 MANUFACTURER 在紅米等子品牌的差異、MODEL 因發行地區而不同的特性,以及 RELEASE 與 SDK_INT 的對應關係。並點出為何 Crashlytics 與 Play Console 的事後聚合資料不足以應付非 crash 的特定機型怪 bug,runtime 自取資訊才能精準輔助除錯。
解析如何用 Android Build 類別在 runtime 取得裝置廠牌、製造商、型號與系統版本,全程免特殊權限。說明 BRAND 與 MANUFACTURER 在紅米等子品牌的差異、MODEL 因發行地區而不同的特性,以及 RELEASE 與 SDK_INT 的對應關係。並點出為何 Crashlytics 與 Play Console 的事後聚合資料不足以應付非 crash 的特定機型怪 bug,runtime 自取資訊才能精準輔助除錯。

解析 Google Play Console 統計資料日期不同步的原因。主因受指標計算信號差異、系統固定擷取時間及 3–7 天處理延遲影響。建議開發者查詢時預留緩衝期,或搭配 Firebase、GA 滿足即時數據需求,有效解決向 PM 或客戶報告時產生的資訊落差。

在製作縮圖類型的 UI 介面時,Jetpack Compose 的 Image 搭配 ContentScale.Crop 是常見的做法。預設情況下會裁剪圖片中央,但若需要指定裁剪位置,可以透過 alignment 參數來調整。對於基本的上下左右對齊,Alignment 的 companion properties 即可滿足;若需要更精細的控制,則可以使用 BiasAlignment,以 -1f 到 1f 的偏移量來指定水平與垂直方向的裁剪位置。此外,文章也介紹了 BiasAbsoluteAlignment,與 BiasAlignment 的差異在於前者使用絕對的左右方向,後者則會依據 LTR / RTL 語系自動調整,適合需要支援國際化的 UI 設計。

本文示範 Android Studio Convert to WebP 的完整步驟與參數設定(Lossy / Lossless),並透過 APK Analyzer 比較轉檔前後大小,快速完成 App 圖片瘦身。

本文示範在 macOS 檢查 JDK 版本、查看已安裝的版本清單,並移除指定的 JDK。