aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common/linux/android
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning/common/linux/android')
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/.gitignore15
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/README.md20
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/.gitignore1
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/build.gradle26
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml20
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java16
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml18
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/build.gradle4
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml16
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/settings.gradle17
10 files changed, 153 insertions, 0 deletions
diff --git a/coin/provisioning/common/linux/android/gradle_project/.gitignore b/coin/provisioning/common/linux/android/gradle_project/.gitignore
new file mode 100644
index 00000000..aa724b77
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/.gitignore
@@ -0,0 +1,15 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
diff --git a/coin/provisioning/common/linux/android/gradle_project/README.md b/coin/provisioning/common/linux/android/gradle_project/README.md
new file mode 100644
index 00000000..439cd362
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/README.md
@@ -0,0 +1,20 @@
+# 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.
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/.gitignore b/coin/provisioning/common/linux/android/gradle_project/app/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/app/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/build.gradle b/coin/provisioning/common/linux/android/gradle_project/app/build.gradle
new file mode 100644
index 00000000..745c08f8
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/app/build.gradle
@@ -0,0 +1,26 @@
+plugins {
+ alias(libs.plugins.androidApplication)
+}
+
+android {
+ namespace 'com.example.gradle_project'
+ compileSdk 34
+
+ defaultConfig {
+ applicationId "com.example.gradle_project"
+ minSdk 23
+ targetSdk 34
+ versionCode 1
+ versionName "1.0"
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+}
+
+dependencies {
+ implementation libs.appcompat
+ implementation libs.material
+}
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml b/coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..492c2115
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools">
+
+ <application
+ android:allowBackup="true"
+ android:label="gradle_project"
+ android:supportsRtl="true"
+ tools:targetApi="34">
+ <activity
+ android:name=".MainActivity"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+
+</manifest>
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java b/coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java
new file mode 100644
index 00000000..d3575ef9
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java
@@ -0,0 +1,16 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+package com.example.gradle_project;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+public class MainActivity extends AppCompatActivity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ }
+}
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml b/coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 00000000..c75d0576
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".MainActivity">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Hello World!"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/coin/provisioning/common/linux/android/gradle_project/build.gradle b/coin/provisioning/common/linux/android/gradle_project/build.gradle
new file mode 100644
index 00000000..602be027
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/build.gradle
@@ -0,0 +1,4 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+plugins {
+alias(libs.plugins.androidApplication) apply false
+}
diff --git a/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml b/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml
new file mode 100644
index 00000000..65bc49af
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml
@@ -0,0 +1,16 @@
+[versions]
+agp = "7.4.1"
+appcompat = "1.6.1"
+material = "1.11.0"
+constraintlayout = "2.1.4"
+
+[libraries]
+appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
+material = { group = "com.google.android.material", name = "material", version.ref = "material" }
+constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
+
+[plugins]
+androidApplication = { id = "com.android.application", version.ref = "agp" }
+
+[bundles]
+
diff --git a/coin/provisioning/common/linux/android/gradle_project/settings.gradle b/coin/provisioning/common/linux/android/gradle_project/settings.gradle
new file mode 100644
index 00000000..ca34c7e7
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/settings.gradle
@@ -0,0 +1,17 @@
+pluginManagement {
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ mavenCentral()
+ }
+}
+
+rootProject.name = "gradle_project"
+include ':app'