Powdroid is a command-line tool that profiles the energy consumption of Android apps. Simply test your application for a few minutes to generate a machine-ready output file containing various energy-related metrics.
Install the following dependencies:
- Android SDK platform tools (https://developer.android.com/studio/releases/platform-tools)
- Python 3.10 or below (https://www.python.org/downloads/)
- Pandas module
- GO runtime (https://go.dev/dl/)
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.
- 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)
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.
Just run python powdroid.py -o csv
in your terminal and follow the on-screen instructions.
For more options, use the --help
command.
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. PowDroid was first released on our old university git repository here, and on our old gitlab repository here.
To cite PowDroid, please cite our paper in the 2nd International Workshop on Sustainable Software Engineering (SUSTAINSE) at ASE 2021 conference.
- PowDroid: Energy Profiling of Android Applications. Fares Bouaffar, Olivier Le Goaer, and Adel Noureddine. In the Second International Workshop on Sustainable Software Engineering (SUSTAINSE)/(ASE'21), Melbourne, Australia, November 2021.
@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}
}
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