diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 3f7b4430b8..b583aa5416 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -154,7 +154,11 @@ android { experimentalProperties["android.experimental.enableScreenshotTest"] = true buildToolsVersion = libs.versions.buildTools.get() - compileSdkVersion(libs.versions.compileSdk.get()) + + compileSdk { + version = release(libs.versions.compileSdk.get().toInt()) + } + ndkVersion = libs.versions.ndk.get() flavorDimensions += listOf("distribution", "environment") @@ -191,12 +195,12 @@ android { sourceSets { getByName("test") { - java.srcDir("$projectDir/src/testShared") + java.directories += "$projectDir/src/testShared" } getByName("androidTest") { - java.srcDir("$projectDir/src/testShared") - java.srcDir("$projectDir/src/benchmarkShared/java") + java.directories += "$projectDir/src/testShared" + java.directories += "$projectDir/src/benchmarkShared/java" } } @@ -411,6 +415,7 @@ android { isDefault = false isDebuggable = false isMinifyEnabled = true + isShrinkResources = true matchingFallbacks += "debug" buildConfigField("String", "BUILD_VARIANT_TYPE", "\"Benchmark\"") buildConfigField("boolean", "TRACING_ENABLED", "true") @@ -521,18 +526,18 @@ android { android.buildTypes.configureEach { val path = if (name == "release") releaseDir else debugDir sourceSets.named(name) { - java.srcDir(path) + java.directories += path } } sourceSets { getByName("mocked") { - java.srcDir("$projectDir/src/benchmarkShared/java") + java.directories += "$projectDir/src/benchmarkShared/java" manifest.srcFile("$projectDir/src/benchmarkShared/AndroidManifest.xml") } getByName("benchmark") { - java.srcDir("$projectDir/src/benchmarkShared/java") + java.directories += "$projectDir/src/benchmarkShared/java" manifest.srcFile("$projectDir/src/benchmarkShared/AndroidManifest.xml") } } diff --git a/baseline-profile/build.gradle.kts b/baseline-profile/build.gradle.kts index ef458ae350..532aeea177 100644 --- a/baseline-profile/build.gradle.kts +++ b/baseline-profile/build.gradle.kts @@ -7,8 +7,9 @@ plugins { android { namespace = "org.signal.baselineprofile" + compileSdk { - version = release(36) + version = release(libs.versions.compileSdk.get().toInt()) } compileOptions { diff --git a/benchmark/build.gradle.kts b/benchmark/build.gradle.kts index d97222d619..15c3ef574b 100644 --- a/benchmark/build.gradle.kts +++ b/benchmark/build.gradle.kts @@ -13,7 +13,10 @@ plugins { android { namespace = "org.signal.benchmark" - compileSdkVersion(libs.versions.compileSdk.get()) + + compileSdk { + version = release(libs.versions.compileSdk.get().toInt()) + } compileOptions { sourceCompatibility = JavaVersion.toVersion(libs.versions.javaVersion.get()) diff --git a/build-logic/plugins/src/main/java/signal-library.gradle.kts b/build-logic/plugins/src/main/java/signal-library.gradle.kts index 4aa4957826..32c6fcc751 100644 --- a/build-logic/plugins/src/main/java/signal-library.gradle.kts +++ b/build-logic/plugins/src/main/java/signal-library.gradle.kts @@ -17,7 +17,10 @@ plugins { android { buildToolsVersion = libs.versions.buildTools.get() - compileSdkVersion(libs.versions.compileSdk.get()) + + compileSdk { + version = release(libs.versions.compileSdk.get().toInt()) + } defaultConfig { minSdk = libs.versions.minSdk.get().toInt() diff --git a/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts b/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts index ead37f3319..a6fb05d979 100644 --- a/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts +++ b/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts @@ -18,7 +18,10 @@ plugins { android { buildToolsVersion = libs.versions.buildTools.get() - compileSdkVersion(libs.versions.compileSdk.get()) + + compileSdk { + version = release(libs.versions.compileSdk.get().toInt()) + } defaultConfig { versionCode = 1 diff --git a/demo/camera/build.gradle.kts b/demo/camera/build.gradle.kts index 3f989b1131..de80975442 100644 --- a/demo/camera/build.gradle.kts +++ b/demo/camera/build.gradle.kts @@ -6,7 +6,10 @@ plugins { android { namespace = "org.signal.camera.demo" - compileSdkVersion(libs.versions.compileSdk.get()) + + compileSdk { + version = release(libs.versions.compileSdk.get().toInt()) + } defaultConfig { applicationId = "org.signal.camera.demo" diff --git a/demo/video/build.gradle.kts b/demo/video/build.gradle.kts index 4bd0f530e4..16958cc22a 100644 --- a/demo/video/build.gradle.kts +++ b/demo/video/build.gradle.kts @@ -19,7 +19,10 @@ val localProperties: Properties? = if (localPropertiesFile.exists()) { android { namespace = "org.thoughtcrime.video.app" - compileSdkVersion(libs.versions.compileSdk.get()) + + compileSdk { + version = release(libs.versions.compileSdk.get().toInt()) + } defaultConfig { applicationId = "org.thoughtcrime.video.app" @@ -76,7 +79,7 @@ android { if (sampleVideosPath != null) { val sampleVideosDir = File(sampleVideosPath) if (sampleVideosDir.isDirectory) { - getByName("androidTest").assets.srcDir(sampleVideosDir) + getByName("androidTest").assets.directories.add(sampleVideosPath) } } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6c1db5d01f..49db3a0ee5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ [versions] # SDK & Build Versions buildTools = "36.0.0" -compileSdk = "android-36.1" +compileSdk = "37" targetSdk = "35" minSdk = "23" ndk = "28.0.13004108" diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 66c47464ae..3010efddd0 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -4088,14 +4088,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - + + + + + + + + diff --git a/microbenchmark/build.gradle.kts b/microbenchmark/build.gradle.kts index 16630360b6..aea2edc2f2 100644 --- a/microbenchmark/build.gradle.kts +++ b/microbenchmark/build.gradle.kts @@ -11,7 +11,10 @@ plugins { android { namespace = "org.signal.microbenchmark" - compileSdkVersion(libs.versions.compileSdk.get()) + + compileSdk { + version = release(libs.versions.compileSdk.get().toInt()) + } compileOptions { isCoreLibraryDesugaringEnabled = true diff --git a/reproducible-builds/Dockerfile b/reproducible-builds/Dockerfile index b6d7ccddae..b97f813ab6 100644 --- a/reproducible-builds/Dockerfile +++ b/reproducible-builds/Dockerfile @@ -14,9 +14,9 @@ RUN apt install -oAcquire::https::Verify-Peer=false -y ca-certificates RUN apt update RUN apt install -y git openjdk-21-jdk-headless unzip wget -ENV ANDROID_COMMAND_LINE_TOOLS_FILENAME=commandlinetools-linux-10406996_latest.zip -ENV ANDROID_COMMAND_LINE_TOOLS_SHA256=8919e8752979db73d8321e9babe2caedcc393750817c1a5f56c128ec442fb540 -ENV ANDROID_API_LEVELS=android-36.1 +ENV ANDROID_COMMAND_LINE_TOOLS_FILENAME=commandlinetools-linux-14742923_latest.zip +ENV ANDROID_COMMAND_LINE_TOOLS_SHA256=04453066b540409d975c676d781da1477479dde3761310f1a7eb92a1dfb15af7 +ENV ANDROID_API_LEVELS=android-37.0 ENV ANDROID_BUILD_TOOLS_VERSION=36.0.0 ENV ANDROID_HOME=/usr/local/android-sdk-linux