Skip to content

powdroid-project/powdroid

Repository files navigation

PowDroid logo

Powdroid is an off-device energy profiler for Android. Simply run your application for a few minutes to generate a machine-ready output file containing various energy-related metrics.

🔧 Setup

Install the following dependencies:

⚠️ Then you must add command adb to your environment PATH (python and go should already be in the path, if not add them like adb):

  • On Windows, edit the PATH environment variable in Advanced System Settings, then System Properties, then Environment Variables, and finally choose Path and edit it by adding the new path (the location where you installed platform-tools).
  • On Unix-style systems: export PATH=/the/path/to/target/:$PATH to your .profile or .bashrc file.

🚀 Getting started

Optimal test conditions

  • Disable the Battery Saver Mode
  • Disable screen timeout
  • Set the brightness and sound level at 50%
  • Kill running apps and background services
  • A minimum 5-minute session (Battery level must decrease)

Initial configuration

First, activate USB Debugging in your Android phone in developer options. To verify and facilitate the use of "PowDroid" it is advised to do the first "Handshake" between your phone and the computer by connecting the phone through USB to the computer and type in a command prompt or shell the following: adb devices. On your phone a prompt should appear asking for permission for debugging. If the computer is your personal computer and safe, you should check Always allow from this computer.

Running and Using PowDroid (CLI or GUI)

  • Command-line interface (CLI): just run python /path/to/powdroid.py -o csv in your terminal and follow the on-screen instructions.

For more options, use the --help command.

  • Graphical interface (GUI): the GUI mode can be started by running Python without any arguments.

🤝 Contributors

The project is developed and maintained by:

  • Olivier Le Goaër
  • Adel Noureddine

Previous contributors : Fares Bouaffar (initial author), Pierre-Antoine Larguet, Alex Striedelmeyer, Julien Desprez, Nathan Lorit. PowDroid was first released on our old university git repository here, and on our old gitlab repository here.

🔗 How to cite this work?

To cite PowDroid, please cite our paper in the 2nd International Workshop on Sustainable Software Engineering (SUSTAINSE) at ASE 2021 conference.

@inproceedings{bouaffar2021powdroid,
  title = {PowDroid: Energy Profiling of Android Applications},
  author = {Bouaffar, Fares and Le Goaer, Olivier and Noureddine, Adel},
  booktitle = {2nd International Workshop on Sustainable Software Engineering (SUSTAINSE), at ASE 2021},
  address = {Melbourne, Australia}
  year = {2021}
  month = {Nov},
  keywords = {Energy consumption; Android; Battery drain; Estimation; Tool}
}

📰 License

PowDroid is licensed under the GNU GPL 3 license only (GPL-3.0-only).

Copyright (c) 2021-2025, Université de Pau et des Pays de l'Adour. All rights reserved. This program and the accompanying materials are made available under the terms of the GNU General Public License v3.0 only (GPL-3.0-only) which accompanies this distribution, and is available at: https://www.gnu.org/licenses/gpl-3.0.en.html

About

PowDroid is a tool to estimate the energy consumption of Android applications and devices.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6