Files
qt5/coin/provisioning/common/linux/android/gradle_project
Assam Boudjelthia 39517ef0d0 Android:Coin: do gradle build in provisioning to cache downloadables
If Gradle is not present in the system, it's downloaded from the URL
from the Gradle wrapper. Also, the same for AGP when an Android
project build is done. Currently, that's done on every integration,
and that can be unreliable due to networking flakiness. With this
patch, a Gradle build is done once during provisioning where the
downloads of Gradle and AGP dependencies are downloaded.

Fixes: QTQAINFRA-6166
Fixes: QTQAINFRA-4726
Fixes: QTBUG-117203
Fixes: QTBUG-114699
Change-Id: Ic9fd8aeea3379ca1d45ffeb4523a52e2846fcabb
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-04-14 13:28:59 +00:00
..

Android Gradle Project for COIN

This project is used to at provisioning time to do an Android Gradle build that will download Gradle binaries and AGP dependencies, then they will be cached allowing consecutive builds, i.e. at test runs to not redownload the Gradle binaries which tend to run into network issues and thus improving the reliability of the Android integrations on COIN.

The project is a basic empty views Android project that can be created by Android Studio, it's Java based. Below is some extra details on relevant files that might need updates in the future:

  • settings.gradle: mainly sets the the project name
  • under app/src/main/ res/layout/activity_main.xml and src//.java: sets the layout and logic of the app, this shouldn't need to be touched.
  • AndroidManifest.xml / app/build.gradle: Sets project settings like target version.
  • gradle/libs.versions.toml: This sets the version numbers of various dependencies.

Other files required for the project build are gradle wrapper and scripts which are fetched by android_linux.sh from qtbase.