powdroid

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

https://github.com/powdroid-project/powdroid

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

android battery energy mobile power
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
Statistics
  • Stars: 6
  • Watchers: 2
  • Forks: 2
  • Open Issues: 2
  • Releases: 0
Topics
android battery energy mobile power
Created almost 2 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

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.

@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

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
bug (1)
Pull Request Labels
bug (1)

Dependencies

lib/battery-historian/cmd/history-parse/go.mod go
  • github.com/golang/protobuf v1.5.2
  • github.com/google/battery-historian v0.0.0-20170519220231-d2356ba4fd5f
lib/battery-historian/cmd/history-parse/go.sum go
  • 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
lib/battery-historian/go.mod go
  • github.com/golang/protobuf v1.5.2
  • github.com/google/battery-historian v0.0.0-20170519220231-d2356ba4fd5f
lib/battery-historian/go.sum go
  • 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
requirements.txt pypi
  • datetime *
  • pandas *