--- name: Gradle Build Configuration description: Gradle build files for Java 21 + API 18 with desugaring support type: reference --- # Gradle Build Configuration Migrated from Maven to Gradle due to SDK compatibility issues. ## Key Files ### settings.gradle ```gradle pluginManagement { repositories { google() mavenCentral() maven { url 'https://repo.maven.apache.org/maven2' } } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url 'https://repo.maven.apache.org/maven2' } } } rootProject.name = "Helldivers2App" include ':app' ``` ### build.gradle (Root) ```gradle buildscript { repositories { google() mavenCentral() maven { url 'https://repo.maven.apache.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:8.2.0' } } plugins { id 'com.android.application' version '8.2.0' apply false } ``` ### app/build.gradle ```gradle android { namespace 'com.helldivers.app' compileSdk 28 defaultConfig { applicationId "com.helldivers.app" minSdk 18 targetSdk 21 versionCode 1 versionName "1.0" } compileOptions { sourceCompatibility JavaVersion.VERSION_21 targetCompatibility JavaVersion.VERSION_21 coreLibraryDesugaringEnabled true } java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } } dependencies { implementation 'com.google.android:android:4.1.1.4' implementation 'com.google.zxing:core:3.5.2' implementation 'com.google.zxing:android-core:3.3.0' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' } ``` ## Compile Commands ```bash # Debug APK .\gradlew clean assembleDebug # Install to device .\gradlew installDebug # Output: app/build/outputs/apk/debug/app-debug.apk ``` **Why:** Maven had issues with Android SDK path resolution. Gradle wrapper provides more reliable builds across different environments. **How to apply:** Use `gradlew.bat` for all builds. Set JAVA_HOME to JDK 21 before running.