summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2022-12-02 21:32:39 +0100
committerAlbin <albin@mullvad.net>2022-12-08 15:38:28 +0100
commit4696b089d3b9adfb09c31c2c76aa3e47cc407b46 (patch)
treeffd689eee76634a4fff9aa2b58fc47024ece31cb
parent70c55f181a02bad6994e3e26abdd9b0b93c4b581 (diff)
downloadmullvadvpn-4696b089d3b9adfb09c31c2c76aa3e47cc407b46.tar.xz
mullvadvpn-4696b089d3b9adfb09c31c2c76aa3e47cc407b46.zip
Bump Android project to java 11 and gradle 7.6
-rw-r--r--.github/workflows/android-app.yml6
-rw-r--r--android/app/build.gradle.kts29
-rw-r--r--android/app/src/androidTest/AndroidManifest.xml3
-rw-r--r--android/app/src/debug/AndroidManifest.xml3
-rw-r--r--android/app/src/main/AndroidManifest.xml3
-rw-r--r--android/buildSrc/src/main/kotlin/Dependencies.kt7
-rw-r--r--android/buildSrc/src/main/kotlin/Versions.kt5
-rw-r--r--android/e2e/build.gradle.kts7
-rw-r--r--android/e2e/src/main/AndroidManifest.xml3
-rw-r--r--android/gradle/wrapper/gradle-wrapper.properties4
-rw-r--r--building/android-container-image.txt2
11 files changed, 41 insertions, 31 deletions
diff --git a/.github/workflows/android-app.yml b/.github/workflows/android-app.yml
index 9337863549..5868913197 100644
--- a/.github/workflows/android-app.yml
+++ b/.github/workflows/android-app.yml
@@ -101,7 +101,7 @@ jobs:
- name: Build Android app
uses: burrunan/gradle-cache-action@v1
with:
- job-id: jdk8
+ job-id: jdk11
arguments: assembleDebug
gradle-version: wrapper
build-root-directory: android
@@ -109,7 +109,7 @@ jobs:
- name: Run unit tests
uses: burrunan/gradle-cache-action@v1
with:
- job-id: jdk8
+ job-id: jdk11
arguments: testDebugUnitTest
gradle-version: wrapper
build-root-directory: android
@@ -118,7 +118,7 @@ jobs:
- name: Assemble instrumented test apk
uses: burrunan/gradle-cache-action@v1
with:
- job-id: jdk8
+ job-id: jdk11
arguments: assembleAndroidTest
gradle-version: wrapper
build-root-directory: android
diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index e61156ca13..aece31fa53 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -25,12 +25,13 @@ if (keystorePropertiesFile.exists()) {
}
android {
- compileSdkVersion(Versions.Android.compileSdkVersion)
+ namespace = "net.mullvad.mullvadvpn"
+ compileSdk = Versions.Android.compileSdkVersion
defaultConfig {
applicationId = "net.mullvad.mullvadvpn"
- minSdkVersion(Versions.Android.minSdkVersion)
- targetSdkVersion(Versions.Android.targetSdkVersion)
+ minSdk = Versions.Android.minSdkVersion
+ targetSdk = Versions.Android.targetSdkVersion
versionCode = generateVersionCode()
versionName = generateVersionName()
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
@@ -115,8 +116,12 @@ android {
kotlinOptions {
jvmTarget = Versions.jvmTarget
- freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
- // Opt-in option for Koin annotation of KoinComponent.
+ freeCompilerArgs = listOf(
+ "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
+ "-opt-in=kotlinx.coroutines.ObsoleteCoroutinesApi",
+ // Opt-in option for Koin annotation of KoinComponent.
+ "-opt-in=kotlin.RequiresOptIn"
+ )
}
tasks.withType<com.android.build.gradle.tasks.MergeSourceSetFolders> {
@@ -136,10 +141,16 @@ android {
packagingOptions {
jniLibs.useLegacyPackaging = true
-
- // Fixes packaging error caused by: androidx.compose.ui:ui-test-junit4
- pickFirst("META-INF/AL2.0")
- pickFirst("META-INF/LGPL2.1")
+ resources {
+ pickFirsts += setOf(
+ // Fixes packaging error caused by: androidx.compose.ui:ui-test-junit4
+ "META-INF/AL2.0",
+ "META-INF/LGPL2.1",
+ // Fixes packaging error caused by: jetified-junit-*
+ "META-INF/LICENSE.md",
+ "META-INF/LICENSE-notice.md"
+ )
+ }
}
project.tasks.preBuild.dependsOn("ensureJniDirectoryExist")
diff --git a/android/app/src/androidTest/AndroidManifest.xml b/android/app/src/androidTest/AndroidManifest.xml
index 41b8daf8c8..8d37c966e9 100644
--- a/android/app/src/androidTest/AndroidManifest.xml
+++ b/android/app/src/androidTest/AndroidManifest.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="net.mullvad.mullvadvpn.test">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Required on certain Android versions and/or ABIs
https://github.com/mockk/mockk/issues/297#issuecomment-641361770 -->
diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml
index 0eee767e98..2a866ff601 100644
--- a/android/app/src/debug/AndroidManifest.xml
+++ b/android/app/src/debug/AndroidManifest.xml
@@ -1,6 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- package="net.mullvad.mullvadvpn">
+ xmlns:tools="http://schemas.android.com/tools">
<application android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher"
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 279a6f1858..4671de2d88 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- package="net.mullvad.mullvadvpn">
+ xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.INTERNET" />
diff --git a/android/buildSrc/src/main/kotlin/Dependencies.kt b/android/buildSrc/src/main/kotlin/Dependencies.kt
index 830d1e0c42..47244ced3a 100644
--- a/android/buildSrc/src/main/kotlin/Dependencies.kt
+++ b/android/buildSrc/src/main/kotlin/Dependencies.kt
@@ -81,9 +81,10 @@ object Dependencies {
}
object Plugin {
- const val aaptLinux = "com.android.tools.build:aapt2:${Versions.Plugin.aapt}:linux"
- const val aaptOsx = "com.android.tools.build:aapt2:${Versions.Plugin.aapt}:osx"
- const val aaptWindows = "com.android.tools.build:aapt2:${Versions.Plugin.aapt}:windows"
+ const val aaptLinux = "com.android.tools.build:aapt2:${Versions.Plugin.androidAapt}:linux"
+ const val aaptOsx = "com.android.tools.build:aapt2:${Versions.Plugin.androidAapt}:osx"
+ const val aaptWindows =
+ "com.android.tools.build:aapt2:${Versions.Plugin.androidAapt}:windows"
const val android = "com.android.tools.build:gradle:${Versions.Plugin.android}"
const val androidApplicationId = "com.android.application"
const val androidTestId = "com.android.test"
diff --git a/android/buildSrc/src/main/kotlin/Versions.kt b/android/buildSrc/src/main/kotlin/Versions.kt
index 7e3739d6ed..46497de0e4 100644
--- a/android/buildSrc/src/main/kotlin/Versions.kt
+++ b/android/buildSrc/src/main/kotlin/Versions.kt
@@ -41,8 +41,9 @@ object Versions {
}
object Plugin {
- const val aapt = "4.2.2-7147631"
- const val android = "4.2.2"
+ // The androidAapt plugin version must be in sync with the android plugin version.
+ const val android = "7.3.1"
+ const val androidAapt = "$android-8691043"
const val playPublisher = "2.7.5"
const val dependencyCheck = "6.5.0.1"
const val gradleVersions = "0.42.0"
diff --git a/android/e2e/build.gradle.kts b/android/e2e/build.gradle.kts
index 4804dfba70..101f9233e8 100644
--- a/android/e2e/build.gradle.kts
+++ b/android/e2e/build.gradle.kts
@@ -7,11 +7,12 @@ plugins {
}
android {
- compileSdkVersion(Versions.Android.compileSdkVersion)
+ namespace = "net.mullvad.mullvadvpn.e2e"
+ compileSdk = Versions.Android.compileSdkVersion
defaultConfig {
- minSdkVersion(Versions.Android.minSdkVersion)
- targetSdkVersion(Versions.Android.targetSdkVersion)
+ minSdk = Versions.Android.minSdkVersion
+ targetSdk = Versions.Android.targetSdkVersion
testApplicationId = "net.mullvad.mullvadvpn.e2e"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
targetProjectPath = ":app"
diff --git a/android/e2e/src/main/AndroidManifest.xml b/android/e2e/src/main/AndroidManifest.xml
index 8f3435f452..931f79d291 100644
--- a/android/e2e/src/main/AndroidManifest.xml
+++ b/android/e2e/src/main/AndroidManifest.xml
@@ -1,5 +1,4 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="net.mullvad.mullvadvpn.e2e">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<instrumentation
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 7484b99c79..34c0e8f5d3 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,6 +2,6 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
# Retrieved from: https://gradle.org/release-checksums/
-distributionSha256Sum=8de6efc274ab52332a9c820366dd5cf5fc9d35ec7078fd70c8ec6913431ee610
+distributionSha256Sum=7ba68c54029790ab444b39d7e293d3236b2632631fb5f2e012bb28b4ff669e4b
diff --git a/building/android-container-image.txt b/building/android-container-image.txt
index d6e693adc2..7fe2780c5a 100644
--- a/building/android-container-image.txt
+++ b/building/android-container-image.txt
@@ -1 +1 @@
-ghcr.io/mullvad/mullvadvpn-app-build-android:8a937cfc0
+ghcr.io/mullvad/mullvadvpn-app-build-android:06d988a5a