Multiplatform (Android and iOS currently) version of the Probe app.
-
composeApp
is for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:commonMain
is for code that’s common for all targets.androidMain
Android-specific codeiosMain
iOS-specific code written in KotlindwMain
News Media Scan specific Branding and customizationooniMain
OONI Probe specific Branding and customization
-
iosApp
contains the iOS application configuration and the engine integration written in Swift -
.github
contains the Continuous Integration configuration for Github -
gradle/libs.versions.toml
specifies the versions of the plugins and dependencies used across the different modules.
To build, install, and run your application, use the following commands:
-
For OONI Probe:
./gradlew runDebug -Porganization=ooni
-
For News Media Scan:
./gradlew runDebug -Porganization=dw
There is a custom gradle task(copyBrandingToCommonResources
) that is used to copy brand specific
resources to the common resources folder. This task is called before the preBuild
task.
Configure run configurations for easy execution within Android Studio:
- Click the Plus (+) sign in the top left corner of the "Run/Debug Configurations" dialog.
- Choose 'Gradle'.
- Configure with the following:
- Name: OONI_Probe
- Run: :composeApp:runDebug -Porganization=ooni
- Repeat the steps for creating a new configuration.
- Configure with the following:
- Name: News_Media_Scan
- Run: :composeApp:runDebug -Porganization=dw
The "Run/Debug Configurations" already has the proper configuration and you just need to select the
XCode Project Scheme OONIProbe
and run it.
The "Run/Debug Configurations" already has the proper configuration and you just need to select the
XCode Project Scheme NewsMediaScan
and run it.
- Ensure you can run clean and build the project successfully.
- Run
pod install
in theiosApp
directory.
Common tests (tests inside commonTest
) only run on the iOS Simulator.
Choosing the option android (local)
won't work. This is a current
issue with
the official testing library.