plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' } // Release-Signatur: secrets/android-keystore.properties (wird von scripts/release.py beim ersten // Build erzeugt, nicht im Git). Fehlt die Datei, wird mit dem Debug-Schluessel signiert. def keystoreProps = new Properties() def keystoreFile = rootProject.file('../secrets/android-keystore.properties') if (keystoreFile.exists()) keystoreFile.withInputStream { keystoreProps.load(it) } android { namespace 'de.netclip.app' compileSdk 35 signingConfigs { release { if (keystoreFile.exists()) { storeFile rootProject.file('../secrets/' + keystoreProps['storeFile']) storePassword keystoreProps['storePassword'] keyAlias keystoreProps['keyAlias'] keyPassword keystoreProps['keyPassword'] } } } defaultConfig { applicationId "de.netclip.app" minSdk 26 targetSdk 35 versionCode 1 versionName "1.0.0" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig keystoreFile.exists() ? signingConfigs.release : signingConfigs.debug } } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = '17' } buildFeatures { viewBinding true } testOptions { unitTests.all { systemProperty 'interop', project.findProperty('interop') ?: '' } unitTests.returnDefaultValues = true } } dependencies { implementation 'androidx.core:core-ktx:1.13.1' implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'com.google.android.material:material:1.12.0' implementation 'com.squareup.okhttp3:okhttp:4.12.0' implementation 'com.journeyapps:zxing-android-embedded:4.3.0' testImplementation 'junit:junit:4.13.2' testImplementation 'org.json:json:20240303' }