發表文章

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

【Android開發指南】手機硬體與 Android 裝置開發核心名詞懶人包

圖片
進入 Android 裝置與手機開發領域,琳琅滿目的專有名詞常讓人眼花撩亂。本文為手機工程師整理了 Android 系統架構、硬體介面及開發測試中必備的核心名詞,方便快速查閱! 一個完整的 Android 裝置開發涉及多個層級,從最上層的 App、Android Framework,到中介的 RIL(無線電介面層)、Protocol 協議棧、HAL(硬體抽象層),再到最底層的 BSP(板級支持包)、Modem 以及實體硬體(HW)。理解這些基礎名詞是與不同部門協作的重要橋樑。

【Android開發小知識】什麼是 OTA?手機系統無線更新(Over-the-Air)原理解析

在行動裝置與智慧型手機開發中,我們經常聽到「OTA」這個名詞。究竟什麼是 OTA?它在手機系統更新中扮演什麼角色?與 FOTA 又有什麼不同?本文為您詳細解析。 有趣的是,如果您在網路上搜尋「OTA」,有時候可能會混淆到日本次文化中的「御宅族(Otaku,有時簡稱 Ota)」定義。但在通訊與軟體開發領域, OTA 是「Over-The-Air」的縮寫 ,指的是「空中下載」或「無線更新」技術。

Android手機 常見的相機app問題討論

 關於Android手機的相機問題,以下是一些常見的問題及其可能的原因: 1. **檔案未寫入**    - 存儲空間不足。    - 記憶卡問題或損壞。    - 軟體或應用程式的bug。    - 權限問題。 2. **拍照後相機反應遲緩**    - 背景應用程序使用大量資源。    - 相機快取數據過多。    - 軟體不相容或有bug。    - 硬體性能不足。 3. **相機app當機或閃退**    - app的bug或不相容。    - 系統軟體問題。    - 硬體問題或相機故障。    - 記憶體不足或其他資源受限。 基於上述問題,以下是一個流程圖的概述,用於定位和解決相機問題: 1. **確認問題**    - 問題是否可重現?      - 是:繼續。      - 否:搜集更多使用者反饋。 2. **檢查存儲**    - 是否有足夠的存儲空間?      - 是:繼續。      - 否:釋放空間。    - 記憶卡是否正常?      - 是:繼續。      - 否:更換或修復記憶卡。 3. **軟體和應用問題**    - 清除相機app的快取和數據。      - 問題是否解決?        - 是:結束。        - 否:繼續。    - 更新相機app或系統軟體。      - 問題是否解決?        - 是:結束。        - 否:繼續。    - 在...

在Android手機上打開瀏覽器看Google網頁的整個流程是?

 這個流程涉及到從手機上打開瀏覽器應用程序並訪問Google網站,然後顯示針對個人瀏覽經驗的廣告。我們可以通過軟件系統架構的角度來分析這個流程,並了解整個過程中涉及到的不同分層和操作。 1. **應用層(Application Layer)**:    - 用戶通過手機上的瀏覽器應用程序進行操作,點擊應用程序圖標。    - 瀏覽器應用程序在應用層啟動,並顯示用戶界面。 2. **網絡層(Network Layer)**:    - 一旦用戶輸入"google.com"並按下回車鍵,瀏覽器應用程序需要解析網址,並查找Google伺服器的IP地址。    - 瀏覽器應用程序將通過網絡層建立到Google伺服器的TCP/IP連接。 3. **傳輸層(Transport Layer)**:    - 在傳輸層,TCP協議確保了數據的可靠傳輸。數據被分割成小的數據包,然後通過網絡層發送到目的地。 4. **網絡層(Network Layer)**:    - 數據包通過網絡層的路由協議被轉發到Google伺服器的IP地址。    - Google伺服器收到數據包,然後處理HTTP請求,向Google網站發送請求以檢索網頁內容。 5. **應用層(Application Layer)**:    - Google伺服器將網頁內容作為HTTP響應返回到手機的瀏覽器應用程序。    - 瀏覽器應用程序接收到響應,解析HTML並顯示Google主頁的內容。 6. **廣告系統**:    - 當瀏覽器載入Google主頁時,可能會觸發廣告系統的請求。    - 廣告系統可能根據用戶的瀏覽歷史、興趣和其他數據,選擇要在頁面上顯示的廣告。    - 廣告系統將廣告內容嵌入到Google主頁的HTML中,以便在瀏覽器上顯示。 總的來說,這個流程涉及到多個層次的互動,從用戶界面到網絡傳輸,再到瀏覽器解析和顯示頁面內容,最後到廣告系統的集成。這些層次協同工作,以實現在Android手機上打開瀏覽器並瀏覽Google網站時顯示個性化廣告的功能。此外,...

AOSP software stack architecture

圖片
 

android手機 使用久了容易發熱? 這可能是有哪些原因?

 Android手機使用久了容易發熱的原因有很多,以下列舉了一些常見的原因: 1. **大量運算**:    - 高效能的應用程式、遊戲或多任務操作可能使CPU和GPU運作在高負載狀態,進而產生熱量。 2. **螢幕亮度和使用時間**:    - 長時間使用手機,特別是螢幕亮度設得很高時,會使螢幕產生大量熱量。 3. **數據連接和通訊**:    - 長時間的數據傳輸(如下載、串流)或使用4G/5G連接可能會使手機發熱。    - VoLTE、ViLTE或其他IMS服務也可能導致增加的熱量。 4. **充電**:    - 充電時,尤其是使用快速充電技術時,電池和充電電路可能會產生熱量。 5. **背景應用程式**:    - 有時候,一些在背景運行的應用程式可能會不斷使用CPU資源,導致手機發熱。 6. **硬體故障**:    - 在某些情況下,硬體的問題或故障也可能導致過度發熱。 7. **系統更新**:    - 安裝系統更新後,手機可能會進行一系列的後台操作,如重建應用程式索引等,這些操作可能會暫時增加CPU的負載。 8. **外部環境**:    - 外部高溫環境或將手機直接放在陽光下使用都可能使手機發熱。 9. **內部塵埃和污垢**:    - 隨著時間的推移,手機內部可能會積聚塵埃和污垢,這可能會妨礙散熱,導致手機更容易發熱。 10. **散熱設計**:    - 某些手機的散熱設計可能不如其他手機,這也可能是發熱的原因。 當手機過熱時,最好暫時停止使用,讓它冷卻。如果過熱問題持續存在,可能需要進一步的診斷或尋求專業幫助。 進一步討論Android手機發熱的問題,可能涉及的Android系統組件: 1. **CPU/GPU**:手機的中央處理器和圖形處理器在執行密集型任務時會產生熱量。一些背景應用程式和系統進程可能會持續使用CPU,這些進程可以透過工具如`top`或`dumpsys cpuinfo`查看。 2. **RAM**:過多的應用程式同時運行可能會使RAM工作在高效能模式下,增加熱量的產生。可以使用`dumpsys...

使用一些系統現有的工具,快速了解android手機狀態,了解目前的CPU, Memory的使用量來做進一步的分析

在Android系統中,您可以使用一系列命令來調查和分析系統資源的使用情況。以下是一些建議的命令和使用方式: 1. **top**:    - 這是一個實時監控系統CPU和記憶體使用情況的命令。它會顯示目前消耗CPU資源最多的進程。    - 使用方式:`adb shell top`    - 如果想限制顯示的進程數量,可以使用 `-n` 選項,例如:`adb shell top -n 10` 只顯示前10個進程。 2. **dumpsys meminfo**:    - 此命令提供了系統記憶體的詳細使用情況,包括各應用程式和系統組件的記憶體使用。    - 使用方式:`adb shell dumpsys meminfo`    - 若要查看特定應用的記憶體使用情況,可以添加應用的包名:`adb shell dumpsys meminfo [PACKAGE_NAME]` 3. **free**:    - 此命令提供了關於系統可用和使用中的記憶體的總覽。    - 使用方式:`adb shell free` 4. **vmstat**:    - `vmstat` 命令可以提供關於虛擬記憶體統計的信息,例如頁面交換、記憶體、阻塞等。    - 使用方式:`adb shell vmstat` 5. **procrank**:    - 此命令可以顯示系統中每個進程的RAM使用情況,並按使用量進行排序。    - 使用方式:`adb shell procrank` 6. **cat /proc/cpuinfo**:    - 這個命令可以提供CPU的詳細信息,例如型號、核心數量和速度等。    - 使用方式:`adb shell cat /proc/cpuinfo` 7. **cat /proc/meminfo**:    - 這個命令提供了系統記憶體的詳細使用情況。    - 使用方式:`adb shell cat /proc/meminfo` 使用上述命...

關於android手機無法接通電話的問題,可以用那些android開發工具來debug

 若要追蹤和調試Android系統中與IMS和通話相關的問題,有多種工具和方法可以幫助開發者和技術人員。以下是一些建議的工具和技巧: 1. **Logcat**:    - 這是Android開發中最基本的調試工具。它可以捕獲系統和應用程式的即時日誌輸出。    - 使用`adb logcat`命令可以捕獲與IMS和通話功能相關的日誌。    - 你可以過濾特定的日誌標籤或優先級,以縮小調試範圍。 2. **dumpsys**:    - `dumpsys`是一個強大的命令行工具,可以提供系統服務的當前狀態和詳細信息。    - 例如,使用`adb shell dumpsys ims`或`adb shell dumpsys telephony.registry`命令,你可以獲得IMS和電信相關服務的詳細狀態。 3. **Bugreport**:    - Android提供了一個功能,允許你捕獲系統的詳細報告,這包括日誌、堆疊追踪和其他診斷信息。    - 使用`adb bugreport`命令,你可以獲得一份完整的系統報告,這對於深入分析問題非常有用。 4. **Network Signal Guru** 或 **Service Mode**:    - 這些工具和模式可以提供手機網絡、IMS註冊狀態、信號質量等相關信息。    - 某些手機的"Service Mode"可以通過撥打特定的代碼來訪問,例如`*#*#4636#*#*`。 5. **Wireshark**:    - 對於IMS和VoLTE問題,捕獲和分析網絡流量可能是必要的。    - 使用Wireshark或類似工具,你可以分析手機與網絡之間的數據包,以獲取更深入的調試信息。 6. **Android Studio Profiler**:    - 這是Android Studio中的一個功能,它允許開發者分析應用的CPU、內存和網絡使用情況。    - 如果認為某個應用可能是問題的原因,使用Profiler可以幫助你獲得更多信息。 ...

Android 開發工具包(Android SDK)

Android 開發工具包(Android SDK)提供了一系列的工具和資源,用於開發 Android 應用程式。以下是一些常見的 Android 開發工具,包括像 DDMS 的功能: 1. Android Studio:這是一個由 Google 開發的 Android 集成開發環境(IDE),可以用來開發和測試 Android 應用程式。Android Studio 包括許多有用的工具,如代碼編輯器、調試器、模擬器、DDMS、布局編輯器等等。 2. DDMS(Dalvik Debug Monitor Service):DDMS 是一個用於 Android 調試的工具,可以監控正在運行的 Android 應用程式,並提供進程和記憶體信息、文件系統和日誌等資訊。 3. ADB(Android Debug Bridge):ADB 是一個用於和 Android 設備通訊的命令行工具,可以執行各種操作,例如安裝和卸載應用程式、傳輸文件、啟動服務等等。 4. SDK Manager:這是一個用於管理 Android SDK 的工具,可以下載和安裝不同版本的 Android 平台和工具,包括模擬器和系統映像。 5. Layout Editor:這是一個用於編輯 Android 應用程式界面的工具,可以使用拖放界面設計器來設計和排列視圖元素。 6. ProGuard:這是一個用於壓縮和優化 Android 應用程式代碼的工具,可以減少 APK 大小並提高應用程式性能。 除了上述工具之外,還有其他的第三方工具和庫,可以幫助開發人員更高效地開發 Android 應用程式。 === 關於DDMS: Using the Dalvik Debug Monitor Service (DDMS) Tool Android ships with a debugging tool called the Dalvik Debug Monitor Service (DDMS), which provides port-forwarding services, screen capture on the device, thread and heap information on the device, logcat, process, and radio state information, in...

甚麼是CTS?Android 手機 平板 都需要過這個測試?

圖片
甚麼是CTS?Android 手機 平板 都需要過這個測試?通過才可以用Google Play 享受軟體生態圈 Android Compatibility Test Suite(CTS)兼容性測試套件 兼容性測試套件(CTS)是免費的商業級測試套件,可以 下載 。 CTS代表了兼容性的“機制”。 CTS在台式計算機上運行,並直接在連接的設備或仿真器上執行測試用例。 CTS是一組單元測試,旨在集成到構建設備的工程師的日常工作流程中(例如,通過連續構建系統)。其目的是儘早發現不兼容性,並確保軟件在整個開發過程中保持兼容。 CTS是一個自動化測試套件,它使用兩個主要的軟件組件: CTS Trade Federation 測試工具在您的台式機上運行並管理測試執行。它提供的能力, 碎片測試 多個被測設備(DUT的)。您還可以使用 套件重試 功能來僅重試故障,而不是完整套件,從而大大減少了重新運行時間。 個別測試用例在DUT上執行。測試用例用Java編寫為JUnit測試,並打包了Android .apk文件以在實際設備目標上運行。 兼容性測試套件驗證程序(CTS Verifier)是可 下載 的CTS的補充。 CTS Verifier提供了API和功能的測試,如果沒有手動輸入(例如,音頻質量,加速度計等),則無法在固定設備上進行測試。 CTS驗證程序是用於手動測試的工具,包括以下軟件組件: 在DUT上執行並收集結果的CTS驗證程序。 在台式計算機上執行的可執行文件或腳本,以為CTS Verifier應用程序中的某些測試用例提供數據或其他控制。 工作流程: 圖1.如何使用CTS 此圖總結了CTS工作流程。請參閱從 安裝程序 開始的本節子頁面,以獲取詳細說明。 測試用例的類型 CTS包括以下類型的測試用例: 單元測試用於測試Android平台內代碼的原子單元;例如單個類,例如java.util.HashMap。 功能測試在更高級別的用例中測試API的組合。 CTS的未來版本將包括以下類型的測試用例: 耐用性測試可測試系統在壓力下的耐用性。 性能測試根據定義的基準測試系統的性能,例如每秒渲染幀。 相關介紹請見: CTS  https://source.a...

Android Q 就是 Android 10

圖片
為何改變 Android 版本命名方式?  Android 產品管理資深副總裁 Sameer Samat 透過 Google 官方部落格,說明改變 Android 版本命名方式的緣由: 過去 Google 一向使用甜點名稱來為 Android 版本命名,並以甜點的第一個英文字母向用戶預告新版本,這是個有趣的傳統,用戶之間也掀起一波波猜名風潮。 但是多年下來,Google 卻從使用者身上獲得多數人無法理解版本名稱的意見回饋;例如當以某些語言說出「L」與「R」是不易區分的,因此當部份用戶聽到 Android Lollipop 時,直覺上並不清楚它是指 Android KitKat 之後的版本。

適用於 IT 管理員的零接觸註冊機制 Zero Touch

什麼是零接觸註冊機制? 零接觸註冊機制是一種簡化流程,可讓企業針對要管理的 Android 裝置快速完成佈建作業。在裝置首次啟動時,系統會檢查裝置是否已獲指派企業設定。如果已獲指派的話,系統就會啟動完全受管理裝置佈建方法,並下載正確的裝置政策控制器應用程式,該應用程式隨即會完成受管理裝置的設定程序。 有了 Android 零接觸註冊機制,機構、IT 人員和員工可透過流暢、便捷又安全的方式,針對公司擁有的 Android 裝置完成大規模部署作業。這項機制可讓您輕鬆在線上設定裝置,並將已強制執行管理功能的裝置交到員工手中,讓員工一開箱就能開始使用。 必備項目 如要使用零接觸註冊機制,您必須具備下列項目: 搭載 Android Oreo (8.0) 的相容裝置,或搭載 Android Nougat (7.0) 的 Pixel 手機 (需向經銷商合作夥伴購買) 支援完全受管理裝置的企業行動管理服務 (EMM) 供應商 支援的 Android 裝置有哪些? 您可以在 Android 網站的 零接觸裝置系列 部分找到相容裝置清單。 Android Enterprise Partner 裝置列表: https://androidenterprisepartners.withgoogle.com/devices/#!#Zero-touch 如果我想購買支援零接觸註冊機制的裝置,該怎麼做? 支援零接觸註冊機制的裝置無法透過消費者商店取得,您必須直接透過企業經銷商或 Google 合作夥伴購買。如果您想與授權經銷商洽談相關事宜,請前往 Android 網站的 合作夥伴 清單尋找經銷商合作夥伴。 哪些 EMM 支援零接觸註冊機制? 就 Android 而言,大部分的 EMM 供應商都支援零接觸註冊機制。您可以前往 Android 網站的 合作夥伴 清單查看相容的 EMM 清單。 如何使用零接觸註冊機制 如要為貴機構管理零接觸註冊機制,您必須在網路瀏覽器中前往一個線上入口網站。這個網站叫做「零接觸註冊機制入口網站」,但在說明零接觸註冊機制時通常簡稱為「入口網站」。請參閱本文件和您的 EMM 說明文件,按照相關指示完成下列步驟: 透過經銷商購買裝置,並由該經銷商為貴機構設定零接觸註冊機制帳戶。 在入口網站中建立包含...

Bitmap OOM & MAT

Bitmap OOM & MAT 如何改善Bitmap所帶來的Out of Memory(OOM)問題 解決在 Android 中使用 Bitmap 造成 Out of memory 的方法~ [Android]Android Out Of Memory(OOM) 的詳細研究 HOWTO: Debug Memory Leak in Android 其他Android開發相關文章: 提供給手機工程師 Android裝置開發名詞整理 Android Q 就是 Android 10 Cloud to Device Messaging 資料收集 從C2DM, GCM 到 FCM 更多開發相關討論請見: Android開發豆知識 本日看板娘: 在 Instagram 查看這則貼文 🧥 攝影/ @elvenweng 林茉晶 (@lin.mo.jing)分享的貼文 於 PDT 2020 年 4月 月 4 日 上午 10:03 張貼

關於AOSP Contacts討論

關於AOSP Contacts討論 source code :  https://android.googlesource.com/platform/packages/apps/Contacts Working with Contacts 翻譯 -  討論Android 2.0 Contacts的變化 ... 不過現在已經Android 4.0了 XD 更多小技巧: Android-通過PhoneLookup讀取所有電話號碼 Android獲取手機相關資訊和SIM卡資訊 自動搜尋 AutoCompleteTextView ~ 搭配Contacts 撈出聯絡人資料 ~ 照片 ContactsContract.Contacts.PHOTO_ID 其他Android開發相關文章: 提供給手機工程師 Android裝置開發名詞整理 Android Q 就是 Android 10 Cloud to Device Messaging 資料收集 從C2DM, GCM 到 FCM 更多開發相關討論請見:  Android開發豆知識

how to install FindBugs

how to install FindBugs In Eclipse, click on  Help  ->  Software Update  -> Find and Install... Choose the  Search for new features to install  option, and click  Next . Click  New Remote Site . Enter the following: Name:  FindBugs update site URL:  one of the following (note: no final slash on the url) http://findbugs.cs.umd.edu/eclipse  for official releases http://findbugs.cs.umd.edu/eclipse-candidate  for candidate releases and official releases http://findbugs.cs.umd.edu/eclipse-daily  for all releases, including developmental ones and click  OK . 其他Android開發相關文章: 提供給手機工程師 Android裝置開發名詞整理 Android Q 就是 Android 10 Cloud to Device Messaging 資料收集 從C2DM, GCM 到 FCM 更多開發相關討論請見:  Android開發豆知識

關於Audio開發需要了解的事情

關於Audio開發需要了解的事情 Data Formats (or Audio Encoding) File Formats (or Audio Containers) Bit Rates Sample Rates

如何分析Android ANR問題? How to trace ANR

ANR(Application Not Responding)是指 Android 系統中當應用程式沒有及時響應用戶操作而被強制關閉的情況。這種情況通常是由於某些長時間運行或阻塞 UI 线程的操作引起的。以下是一些分析 Android ANR 問題的方法: 使用 DDMS 工具:DDMS 可以用來監視正在運行的 Android 應用程式,包括線程和記憶體使用情況。可以使用 DDMS 工具來檢查是否有某個線程正在阻塞 UI 线程,或者是否有任何內存泄漏等問題。 查看 ANR 日誌:當系統發生 ANR 時,會生成一個 ANR 日誌文件。可以使用 Android Studio 或者其他文本編輯器來查看這個日誌文件,以了解發生 ANR 的原因和具體信息。通常,這個日誌文件會包含 ANR 發生的時間、應用程式的 PID、當前線程的狀態和堆棧跟踪信息等等。 分析 ANR 堆棧:當應用程式發生 ANR 時,堆棧跟踪信息中會顯示導致 ANR 的原因。開發人員可以分析這個堆棧跟踪信息,以找到造成問題的代碼或者操作。 記憶體回收機制:如果應用程式使用大量記憶體,就有可能導致 ANR。開發人員可以使用 Android SDK 提供的記憶體回收機制,例如手動執行 GC(Garbage Collection)或使用記憶體快取等方法,以減少內存使用量,提高應用程式性能。 總之,分析 Android ANR 問題需要仔細查看記憶體使用情況、應用程式運行狀態和相關日誌信息,以找到問題所在,並進行相應的優化和調整。 How to trace ANR problem What Triggers ANR? http://developer.android.com/guide/practices/design/responsiveness.html In Android, application responsiveness is monitored by the Activity Manager and Window Manager system services. Android will display the ANR dialog for a particular application when it detects one of the following conditions:...

Could not create the Java Virtual Machine.

如果在Android 遇到 Could not create the Java Virtual Machine. anan A fatal exception has occurred. Program will exit. [dx] Error occurred during initialization of VM [dx] Could not reserve enough space for object heap  default SDK  那就到 android-sdks\platform-tools 目錄中的 dx.bat 檔案, 將 set defaultXmx=-Xmx1024M 改為 set   defaultXmx=-Xmx512M 若是自己Build AOSP 在source code裡  修改 /dalvik/dx/etc/dx.bat 將 set defaultXmx=-Xmx1024M 改為 set   defaultXmx=-Xmx512M 其他Android開發相關文章: 提供給手機工程師 Android裝置開發名詞整理 Android Q 就是 Android 10 Cloud to Device Messaging 資料收集 從C2DM, GCM 到 FCM 更多開發相關討論請見:  Android開發豆知識

江湖一點訣 Android Handler Thread

江湖一點訣 Android Handler Thread  Android Tips 開發小技巧 - Handler.post Android Tips 開發小技巧 - Thread 無法 Interrupted!? Android Tips 開發小技巧 - Activity.runOnUiThread 其他Android開發相關文章: 提供給手機工程師 Android裝置開發名詞整理 Android Q 就是 Android 10 Cloud to Device Messaging 資料收集 從C2DM, GCM 到 FCM 更多開發相關討論請見:  Android開發豆知識

How to submit patch to Android Open Source Project

Life of a Patch Submitting Patches   http://source.android.com/source/submit-patches.html Open的 Gerrit  https://android-review.googlesource.com/#/q/status:open,n,z 其他Android 開發文章請見:  Android開發豆知識

Google Search

推薦內容橫式

本月熱門文章

台北市長候選人沈伯洋美國行程

北京故宮首訪,一窺清宮秘史 大玉兒 & 甄嬛

海角七號主CP 范逸臣 & 田中千繪!留下來或我跟你走

【2026台中食安風暴】昔日ESG永續,今日致癌毒油?戳破中聯油脂、福壽、泰山大老專訪的誠信大謊

中聯油脂後台有多硬? 台中市食安問題疑點重重

【食安追蹤】大老交保、政客上街!如何查詢蔣萬安、盧秀燕等 7/25 凱道要角是否收過毒油廠政治獻金?

日本旅行 去東京可以在哪邊買羽球相關用品? WEMBLEY/WINDSOR/梭家/Victoria/Alpen TOKYO

5945參加首屆網路創業平台創意秀

萬美玲如何從傅學鵬、鄭金玲手上拿下桃園民意代表位置