powdroid
PowDroid is a tool to estimate the energy consumption of Android applications and devices.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.3%) to scientific vocabulary
Keywords
Repository
PowDroid is a tool to estimate the energy consumption of Android applications and devices.
Basic Info
- Host: GitHub
- Owner: powdroid-project
- License: gpl-3.0
- Language: Go
- Default Branch: develop
- Homepage: https://www.noureddine.org/research/powdroid
- Size: 284 KB
Statistics
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 2
- Releases: 0
Topics
Metadata Files
README.md
PowDroid: A lightweight tool for measuring the energy footprint of any Android application
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.
🔧 Setup
Install the following dependencies: - Android SDK platform tools (https://developer.android.com/studio/releases/platform-tools) - Python 3.x (https://www.python.org/downloads/) - Pandas module - GO runtime (https://go.dev/dl/)
⚠️ 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
Just run python powdroid.py -o csv in your terminal and follow the on-screen instructions.
For more options, use the --help command.
🤝 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.
- 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}
}
:newspaper: 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
Owner
- Name: powdroid-project
- Login: powdroid-project
- Kind: organization
- Repositories: 1
- Profile: https://github.com/powdroid-project
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite the research paper."
preferred-citation:
type: conference-paper
conference:
name: "SUSTAINSE"
collection-title: "Proceedings of the Second International Workshop on Sustainable Software Engineering, Automated Software Engineering 2021"
publisher: IEEE
authors:
- family-names: "Bouaffar"
given-names: "Fares"
- family-names: "Le Goaer"
given-names: "Olivier"
- family-names: "Noureddine"
given-names: "Adel"
orcid: "https://orcid.org/0000-0002-8585-574X"
title: "PowDroid: Energy Profiling of Android Applications"
year: 2021
doi: 10.1109/ASEW52652.2021.00055
GitHub Events
Total
- Create event: 5
- Commit comment event: 1
- Issues event: 2
- Watch event: 2
- Delete event: 1
- Issue comment event: 2
- Push event: 8
- Pull request review event: 2
- Pull request event: 4
- Fork event: 1
Last Year
- Create event: 5
- Commit comment event: 1
- Issues event: 2
- Watch event: 2
- Delete event: 1
- Issue comment event: 2
- Push event: 8
- Pull request review event: 2
- Pull request event: 4
- Fork event: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: 3 months
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 2.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: 3 months
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 2.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Guiguizou (1)
Pull Request Authors
- PeterKleinHaneveld (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- github.com/golang/protobuf v1.5.2
- github.com/google/battery-historian v0.0.0-20170519220231-d2356ba4fd5f
- github.com/golang/protobuf v1.5.0
- github.com/golang/protobuf v1.5.2
- github.com/google/battery-historian v0.0.0-20170519220231-d2356ba4fd5f
- github.com/google/go-cmp v0.5.5
- golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
- google.golang.org/protobuf v1.26.0-rc.1
- google.golang.org/protobuf v1.26.0
- github.com/golang/protobuf v1.5.2
- github.com/google/battery-historian v0.0.0-20170519220231-d2356ba4fd5f
- github.com/golang/protobuf v1.5.0
- github.com/golang/protobuf v1.5.2
- github.com/google/battery-historian v0.0.0-20170519220231-d2356ba4fd5f
- github.com/google/go-cmp v0.5.5
- golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
- google.golang.org/protobuf v1.26.0-rc.1
- google.golang.org/protobuf v1.26.0
- datetime *
- pandas *