GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ooni/probe-android: OONI Probe Android

This repository was archived by the owner on Apr 20, 2026. It is now read-only.
BranchesTags
Open more actions menu

Latest commit

 

History

1,926 Commits
1,926 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.tx
.tx
 
 
app
app
 
 
applogger
applogger
 
 
assets
assets
 
 
description
description
 
 
engine-experimental
engine-experimental
 
 
engine
engine
 
 
fastlane
fastlane
 
 
gradle
gradle
 
 
scripts
scripts
 
 
shared-test
shared-test
 
 
.gitignore
.gitignore
 
 
ChangeLog.md
ChangeLog.md
 
 
Gemfile
Gemfile
 
 
LICENSE
LICENSE
 
 
NOTICE
NOTICE
 
 
README.md
README.md
 
 
build.gradle
build.gradle
 
 
gradle.properties
gradle.properties
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
run-v2-icons.md
run-v2-icons.md
 
 
settings.gradle
settings.gradle
 
 

Repository files navigation

MIGRATION NOTICE ⚠️ ⚠️

Active development has moved—this repository is archived and no longer maintained.

This repository is retained for historical reference only (archival snapshots, past issues, and prior releases). New features, bug fixes, and all ongoing work are happening in the new project repository. Please do not open pull requests here; they will not be reviewed.

Development, issue tracking, and contributions are now handled at the link below.

Continue development here: https://github.com/ooni/probe-multiplatform


OONI Probe Android

OONI Probe Android

chat on Slack open issues Emulator Tests Status follow on Twitter

Get it on F-Droid Get it on Google Play

OONI Probe is free and open source software designed to measure internet censorship and other forms of network interference.

Click here to report a bug

Other supported platforms: iOS, Desktop, CLI

Developer information

This application requires Android Studio. We use Gradle and, as part of the initial gradle sync, Android studio will download all the required dependencies.

The most important dependency is oonimkall. This dependency contains the network measurement engine. Its sources are at ooni/probe-cli.

When using Gradle from the command line, you will need to set the ANDROID_SDK_ROOT environment variable to point to the directory in which you have installed the Android SDK.

Build variants

We use the classic debug and release build types. We also implement the following flavours:

  • stable, dev, and experimental (dimension: testing);

  • full and fdroid (dimension: license).

  • ooni and dw (dimension: brand).

The testing dimension controls whether we're building a release or a more unstable version. We build releases using the stable flavour. The dev flavour builds the version of the app that should be released on the store as the beta channel. The experimental flavour, instead, allows a developer to build a one-off version of the app that uses a custom build of the oonimkall library.

The license dimension controls which proprietary libraries to include into the build. The full flavour includes all such dependencies, while the fdroid flavour does not include any of them.

The brand dimension controls the branding of the application. The ooni flavour is the default branding, while the dw flavour is for the "News Media Scan" branding.

The variant names are therefore:

  • ooniExperimentalFullDebug
  • ooniExperimentalFullRelease
  • ooniDevFullDebug
  • ooniDevFullRelease
  • ooniStableFullDebug
  • ooniStableFullRelease
  • dwExperimentalFullDebug
  • dwExperimentalFullRelease
  • dwDevFullDebug
  • dwDevFullRelease
  • dwStableFullDebug
  • dwStableFullRelease

We additionally have ooniStableFdroidDebug, ooniStableFdroidRelease, dwStableFdroidDebug and dwStableFdroidRelease.

All of this is controlled by app/build.gradle.

Gradle modules

  • app contains the mobile app;
  • engine contains wrappers for oonimkall, the measurement engine library;
  • engine-experimental allows us to implement the experimental build flavour where you put the oonimkall.aar file you built inside engine-experimental rather than downloading it from Maven Central.

Building an apk

Ensure you have Android Studio and Android SDK installed. Build the ooniDevFullRelease variant using Android Studio or this command line:

./gradlew assembleOoniDevFullRelease

Building the app for f-droid

Instead to build the app to stay compliant to F-Droid use fdroid, which contains small tweaks required to have the app accepted by f-droid.

./gradlew assembleOoniDevFullRelease

Testing

Run unit tests/

./gradlew testOoniStableFullDebug

Run instrumented tests

Note: To also run the automation tests (to generate screenshots), set the Build Config flag RUN_AUTOMATION as true.

./gradlew connectedOoniStableFullDebugAndroidTest

Generate code coverage report (after all unit and instrumented tests successfully passed)

./gradlew jacocoAndroidTestReport

Managing translations

To manage translations check out our translation repo and follow the instructions there.

Contributing

  • Write some code

  • Open a pull request

  • Have fun!

About

OONI Probe Android

ooni.org

Topics

ooniprobe

Resources

Readme
GPL-3.0 license
Activity
Custom properties

Stars

228 stars

Watchers

24 watching

Forks

53 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.