Apache License 2.0

项目介绍

jaredrummler/AndroidProcesses 是一个托管在 GitHub 上的开源项目,主要使用 Java 编写,采用 Apache License 2.0 许可证,目前获得 1.8k 个 Star、360 次 Fork。

仓库全名
jaredrummler/AndroidProcesses
开源许可证
Apache License 2.0
Star 数
1.8k
Fork 数
360

README 摘要

AndroidProcesses 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. TL;DR 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…

完整内容见 GitHub 原始 README 或本页 。

常见问题

AndroidProcesses 用什么语言开发?

主要使用 Java 编写,采用 Apache License 2.0 许可证,目前有 1.8k 个 Star。

AndroidProcesses 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 AndroidProcesses 的源码?

可以直接克隆仓库:git clone https://github.com/jaredrummler/AndroidProcesses.git,默认分支为 master;安装与运行步骤见仓库 README。

AndroidProcesses 最近还在维护吗?

仓库最近一次更新为 2025年5月21日,当前没有未关闭的 Issue;Star 数为 1.8k,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

A legacy Android library for listing running processes by reading /proc; deprecated as of Android 7.0+ due to platform restrictions.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
2611
价值分
1198
活跃状态
活跃

语言占比

Java

README

AndroidProcesses

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.


TL;DR

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.


Project Overview

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.


Impact in Research and Security

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.


Why was access restricted?

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.


Usage (for legacy devices)

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.


Alternatives

  • 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.

Adoption

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.


Academic References (selected & annotated)

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


License

Apache 2.0.
See LICENSE.txt.


Further Reading

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.

评论

暂无评论