Skip to content

ActivityWatch/aw-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9d32040 · Jun 25, 2024
Jan 30, 2024
Sep 26, 2023
Nov 18, 2023
Oct 13, 2023
Sep 26, 2023
Jun 25, 2024
Oct 15, 2023
Oct 8, 2023
Oct 5, 2023
Sep 26, 2023
Apr 14, 2019
Sep 26, 2023
Dec 18, 2019
Oct 15, 2023
Nov 18, 2023
Aug 2, 2022
Sep 26, 2023
Apr 5, 2020
Dec 16, 2018
Dec 16, 2018
Apr 5, 2020

Repository files navigation

aw-android

GitHub Actions badge Play Store ratings

A very work-in-progress ActivityWatch app for Android.

Available on Google Play:

Usage

Install the APK from the Play Store or from the GitHub releases.

For Oculus Quest

Note At some point a Quest system upgrade broke the ability to allow ActivityWatch access to usage stats. This can be fixed by manually assigning the needed permission using adb: adb shell appops set net.activitywatch.android android:get_usage_stats allow

It's available on SideQuest.

Building

To build this app you first need to build aw-server-rust (./aw-server-rust) and aw-webui (./aw-server-rust/aw-webui).

If you haven't already, initialize the submodules with: git submodule update --init --recursive

Building aw-server-rust

Note If you don't want to go through the hassle of getting Rust up and running, you can download the jniLibs from aw-server-rust CI artifacts and place them in mobile/src/main/jniLibs manually instead of following this section.

To build aw-server-rust you need to have Rust nightly installed (with rustup). Then you can build it with:

export ANDROID_NDK_HOME=`pwd`/aw-server-rust/NDK  # The path to your NDK
pushd aw-server-rust && ./install-ndk.sh; popd    # This configures the NDK for use with Rust, and installs the NDK if missing
env RELEASE=false make aw-server-rust             # Set RELEASE=true to build in release mode (slower build, harder to debug)

Note The Android NDK will be downloaded by install-ndk.sh to aw-server-rust/NDK if ANDROID_NDK_HOME not set. You can create a symlink pointing to the real location if you already have it elsewhere (such as /opt/android-ndk/ on Arch Linux).

Building aw-webui

To build aw-webui you need a recent version of node/npm installed. You can then build it with make aw-webui.

Putting it all together

Once both aw-server-rust and aw-webui is built, you can build the Android app as any other Android app using Android Studio.

Making a release

To make a release, make a signed tag and push it to GitHub:

git tag -s v0.1.0
git push origin refs/tags/v0.1.0

This will trigger a GitHub Actions workflow which will build the app and upload it to GitHub releases, and deploy it to the Play Store (including the metadata in ./fastlane/metadata/android).

More info

For more info, check out the main ActivityWatch repo.