Overview of Android System Features and Testing Tools
This article provides a comprehensive guide to Android system features relevant to testing, covering common functions like app management, developer options such as USB debugging and various adb commands, process statistics, visual debugging tools, and the handling of normal, dangerous, and special permissions.
With continuous Android updates and increasingly distinct OEM customizations, the workload for development and testing, especially regarding adaptation and compatibility, keeps growing; this guide summarizes generic Android functions and vendor‑specific features that impact testing.
Common Functions : The App Management section explains force‑stop (which truly kills the app process and adds the FLAG_EXCLUDE_STOPPED_PACKAGES flag to broadcasts), clearing data/cache, and data paths such as /data/data/<package_name> and SD‑card locations. It also lists the standard sub‑directories (lib, files, databases, shared_prefs, cache, etc.) and notes that clearing an app’s data leaves only the lib directory, effectively reinstalling the app.
Developer Options : Enabled by tapping the build number five times, these options provide powerful debugging tools. USB debugging allows the use of adb commands such as adb devices to verify connections, adb logcat -d -t 1000 -v time to capture recent logs, adb pull /data/anr/traces.txt <localpath> for ANR traces, adb install tieba.apk / adb uninstall <package> to install or remove apps, adb push <local> <remote> and adb pull <remote> <local> for file transfer, and adb shell for interactive command‑line access. Additional UI debugging tools include Process Stats, Show Touches, Show Surface Updates, Show Boundaries, Simulate Display, Force GPU Rendering, GPU Overdraw Detection, Strict Mode, GPU Rendering Analysis, and the “Don’t Keep Activities” option for memory‑stress testing.
Permissions : The article distinguishes normal, dangerous, and special permissions. Normal permissions (e.g., ACCESS_NETWORK_STATE) behave as before Android 6.0. Dangerous permissions belong to permission groups and are granted collectively; requesting one (e.g., READ_EXTERNAL_STORAGE) also grants its group mates (e.g., WRITE_EXTERNAL_STORAGE). Since Android 6.0 (API 23), apps must request dangerous permissions at runtime, and special permissions such as SYSTEM_ALERT_WINDOW and WRITE_SETTINGS require both manifest declaration and an explicit user‑grant intent.
Author : Chen Jiannan, Test Engineer in the Content Ecosystem Quality Department, responsible for testing interaction and video features of the Baidu Tieba client.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
