Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status Release License

About GreenHub BatteryHub

BatteryHub is a simple way to keep up with your device's battery details. The app works as a battery monitor compiling all useful information necessary for you to identify any energy anomalies. Keep in mind that the app by itself is NOT a battery saver, at least for now. It simply aggregates data to keep you informed of the battery details.

Use BatteryHub to:

  • Monitor your battery details in real-time such as instant consumption and battery temperature and more.
  • Check your device specifications, network information, storage details and memory usage.
  • Find out what apps are running and how much memory they are using.
  • Keep track of your battery state history with interactive charts with different time intervals.

Disclaimer: This app is still under development and it is NOT finished. Updates will be released over time with new content.

BatteryHub is a fork of the Carat Project and is part of the project GreenHub.

What is GreenHub?

A collaborative approach to power consumption analysis of Android devices.

It collects anonymous data about your devices's power consumption and uploads them to our server.

Learn more at


Project Status Description
greenhub-farmer greenhub-farmer-status Backend Web application + REST API
greenhub-lumberjack greenhub-lumberjack-status A command line app for interacting with the GreenHub REST API

Build Instructions


Linux and Mac OS:

Make sure gradlew is executable, by typing this command:

$ chmod +x gradlew

You can now build and test the project:

$ ./gradlew clean check assembleDebug


$ gradlew.bat clean check assembleDebug


If it is the first time building the Android app with Docker, it is necessary to build a local Docker image before running it. Afterwards just run a container:

Note: Make sure you have at least 2GB free storage on your workstation to build the docker image.

$ curl -sSf | docker build -t greenhub-project/batteryhub -f - .
$ docker run -it --name container-name \         # Choose a container name
-v `pwd`:/usr/src/app \                          # DO NOT change this src path
greenhub-project/batteryhub \

Inside the container you can now run gradle tasks, for example:

./gradlew clean check assembleDebug  # This will create a debug build after passing all checks

To start an existing container, type:

$ docker start -i container-name

One line build, for copy-paste:

curl -sSf | docker build -t greenhub-project/batteryhub -f - . && docker run -it --name batteryhub-app -v `pwd`:/usr/src/app greenhub-project/batteryhub /bin/bash

To list all available gradle tasks run ./gradlew tasks.

Need help?

Having problems building BatteryHub? Please see the Troubleshooting guide.

For more details, please check our documentation.


If you think you have found a bug or have a feature request, refer to the issues page, proper labels are provided.

Before opening a new issue, be sure to search existing ones to avoid duplicates. Please try to include steps to reproduce the problem and copy the print stack tree output from the logs if necessary.

Known issues

  • Some Android devices don't support current measurement with BatteryManager API. Legacy support is being developed
  • Power Indicator is not working properly, see issue


Please read through our contributing guidelines before making a pull request. Included are directions for coding standards and development process.


Detailed changes for each release are documented in the release notes.


Copyright (c) 2016-present Hugo Matalonga & João Paulo Fernandes.

The code is available under the Apache 2.0 License unless otherwise stated in the file or by a dependency's license file.


GreenHub was originally inspired by and has used data definitions from:

It uses battery percentage icons from the project: