No longer maintained.
As of Android 7.0+, Google blocks the required /proc access for non-system apps.
If you're targeting modern Android, stop here. For historical, forensic, or academic use, read on.
AndroidProcesses enabled process enumeration on Android without special permissions by parsing /proc
.
This approach worked up through Android 6.0 (Marshmallow).
Since Android 7.0 (Nougat), /proc
is inaccessible to third-party apps, rendering this library ineffective on new devices.
If your work involves legacy device research, system forensics, or historical Android analysis, read on.
Otherwise, note the platform’s current constraints.
AndroidProcesses offered a simple interface to enumerate all running processes and gather details such as PID, memory use, parent/child relationships, and more, with zero special permissions. It was widely adopted by utility apps (e.g., ES File Explorer, Clean Master, Cheetah Mobile products), amassing billions of installs and becoming a standard tool for both system utilities and academic research.
AndroidProcesses was widely referenced in peer-reviewed security, privacy, and systems research, including:
- Security and privacy analyses of Android’s process model and sandboxing
- Demonstrations of UI deception and side-channel attack feasibility
- Forensic analysis, malware detection, and runtime system monitoring
- Motivation and justification for major platform policy changes
Numerous scholarly articles, theses, and dissertations (see below) used this library as their practical method of process enumeration and system introspection.
Android 7.0’s restriction of /proc
access was motivated by the desire to:
- Improve application sandboxing and user privacy
- Prevent background apps from surveilling user activities and other processes
- Close system-level attack and data leak vectors revealed by research (often using AndroidProcesses)
The trade-off: reduced process transparency and visibility for security researchers, system analysts, forensics, and device owners.
List<AndroidAppProcess> processes = AndroidProcesses.getRunningAppProcesses();
for (AndroidAppProcess process : processes) {
String processName = process.name;
Stat stat = process.stat();
int pid = stat.getPid();
// ...etc...
}
Functional on Android ≤6.0. On 7.0+, returns nothing due to system restrictions.
- UsageStatsManager: Permission-gated, delayed, limited to usage statistics.
- Accessibility Service: Not designed for process monitoring; limited and discouraged for this use case.
- Custom ROMs, rooted devices, or enterprise device management: Required for deep system introspection on modern Android.
Major adoption between 2015–2018 by ES File Explorer, Clean Master, Security Master, CM Launcher 3D, Virus Cleaner, Super Cleaner, and many more.
If you analyze utility apps or OEM tools from that period, you will likely encounter AndroidProcesses.
If referencing this library in academic work, we recommend the following citation format:
BibTeX:
@software{androidprocesses,
author = {Rummler, Jared},
title = {AndroidProcesses},
year = {2015},
publisher = {GitHub},
url = {https://github.com/jaredrummler/AndroidProcesses}
}
APA:
Rummler, J. (2015). AndroidProcesses [Software]. https://github.com/jaredrummler/AndroidProcesses
Selected scholarly citations:
-
Tuncay, G. S., Qian, J., & Gunter, C. A. (2020).
See No Evil: Phishing for Permissions with False Transparency
USENIX Security 2020
Used AndroidProcesses to demonstrate UI deception and permission phishing. -
Bianchi, A., et al. (2015).
What the App is That? Deception and Countermeasures in the Android User Interface
IEEE S&P 2015.
Referenced AndroidProcesses as a tool for studying UI deception attacks. -
Spreitzer, R., Kirchengast, F., Gruss, D., & Mangard, S. (2018).
ProcHarvester: Fully Automated Analysis of Procfs Side-Channel Leaks on Android
ASIACCS 2018
AndroidProcesses was cited for its practical relevance in analyzing side-channel leaks. -
Simon, L., Xu, W., & Anderson, R. (2016).
Don’t Interrupt Me While I Type: Inferring Text Entered Through Gesture Typing on Android Keyboards
PoPETs 2016
Showed use of process enumeration for real-world side-channel attacks. -
Chang, M. (2018).
Predicting mobile application power consumption.
UOIT Thesis -
Dorotík, L. (2020).
Detection of Mobile Malware Based on Signatures of Nontrivial Features
UTB Thesis -
Baresi, L., & Caushi, K. (2021).
IDEA: Runtime Collection of Android Data
ISSREW 2021 -
Bianchi, A. (2018).
Identifying and Mitigating Trust Violations in the Mobile Ecosystem
UCSB Dissertation -
Muthu, S. (n.d.).
A Context-Aware Approach to Android Memory Management
OhioLINK Thesis -
Simon, L. (2017).
Exploring new attack vectors for the exploitation of smartphones
Cambridge TR 909
Apache 2.0.
See LICENSE.txt.
- Project announcement & postmortem
- Google Issue Tracker: /proc restriction
- Android Developer Docs: UsageStatsManager
Donations:
bc1qm33s8s0hh5dqffpvv5ahmgyte2sy7g7pjftl43
🖖
Android moved on. So should your app.
Yet as the ecosystem evolves, the importance of transparency, device sovereignty, and open system research remains.
For those interested in security, forensics, or platform policy, AndroidProcesses stands as a historical reference point—reminding us that real progress means learning from both the tools we've built and the access we've lost.