apply plugin: 'com.android.application' apply plugin: 'kotlin-android' android { namespace 'com.example.app' compileSdk 34 defaultConfig { applicationId "com.example.app" minSdk 21 targetSdk 34 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } // Signing configuration for release builds. // Configure the following properties in either your // - ~/.gradle/gradle.properties (recommended for secrets), or // - /gradle.properties (do NOT commit passwords) // // Example properties: // MYAPP_STORE_FILE=keystores/my-release-key.jks // MYAPP_STORE_PASSWORD=your_store_password // MYAPP_KEY_ALIAS=my_key_alias // MYAPP_KEY_PASSWORD=your_key_password signingConfigs { release { // Only configure signing when the properties are provided. if (project.hasProperty('MYAPP_STORE_FILE')) { storeFile file(MYAPP_STORE_FILE) storePassword MYAPP_STORE_PASSWORD keyAlias MYAPP_KEY_ALIAS keyPassword MYAPP_KEY_PASSWORD } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // Apply signing config if available. This keeps debug and CI builds // working even when signing properties are absent locally. if (project.hasProperty('MYAPP_STORE_FILE')) { signingConfig signingConfigs.release } // Ensure release builds are not debuggable. debuggable false } } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } } dependencies { implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.appcompat:appcompat:1.6.1' implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.22" implementation 'androidx.webkit:webkit:1.8.0' }